Vamos aprender a criar esse componente de tabs usando Vue?
Vamos aprender a criar esse componente de tabs usando Vue? | ||
Para ver o código funcionando, clique aqui e para ver o código inteiro, clique aqui. | ||
Vamos começar? | ||
Eu criei o meu usando o CodesandBox, lá você pode criar um playground que roda Vue muito fácil. | ||
| ||
| ||
| ||
Agora precisamos adicionar a classe active na tab que está ativa. ⬇️ | ||
| ||
| ||
Para que tudo isso funcione, vamos criar os métodos lá em methods ⬇️ | ||
Agora vamos estilizar essas tabs ⬇️ | ||
| ||
Agora só falta fazer a lógica para trocar o conteúdo de acordo com a tab selecionada 👇🏼 | ||
| ||
| ||
Se você chegou até aqui, você tem algo parecido com isso ⬇️! Porém, sem animações perde todo o charme, né? Vamos colocar a cereja do bolo 🍒 | ||
| ||
Primeiro, vamos fazer a animação do active tab ⬇️ | ||
| ||
E para animar o conteúdo? 😅 | ||
Você já ouviu falar que o Vue tem várias métodos prontos já para animação? Simmm, nos facilita a vida, é assim que vamos fazer!! | ||
| ||
Como nós estamos usando v-if para mostrar o conteúdo, o mode out-in significa que o conteúdo primeiro vai desaparecer, pra depois entrar o próximo. Isso ajuda também no efeito de animação! | ||
O slide-fade é a nossa animação personalizada, nesse caso, eu queria que ela entrasse na tela em uma animação "subindo", para fazer isso é muito simples: | ||
| ||
Tudo o que precisamos é adicionar o tempo de duração da animação e usando o transform nós indicamos a animação! | ||
E o resultado final fica assim: | ||
| ||
Espero que tenham gostado desse novo formato de conteúdo! |