Criando Componente Accordion List com Ionic 3

Criando Componente Accordion List com Ionic 3

Olá Galera.. tudo tranquilo?

Sou novo por aqui e hoje vou trazer uma dica para deixar sua aplicação mobile um pouco mais intuitiva para o usuário, criando um componente, o Accordion List..

Veja abaixo o que iremos fazer:

 

Legal né, vamos lá?

1. Criar o projeto Ionic

Vamos começar gerando um novo aplicativo Ionic em branco, para fazer isso, apenas execute o seguinte comando:

Uma vez criado, vamos entrar no diretório do Projeto, executando:

Agora, criaremos o componente, chamando-o de Expandable, então também geraremos isso agora:

Este comando também configurará automaticamente o componente no arquivo app.module.ts.

2. Construindo o componente Expandable

Vamos ao arquivo src/components/expandable/expandable.html e criar o componente, assim:

O modelo para o componente é razoavelmente simples. Estamos usando a projeção de conteúdo para mostrar o que adicionamos dentro das tags ao modelo do componente. Isso significa que podemos exibir algum conteúdo aqui dentro do nosso componente.

Aqui também temos um invólucro que possui uma variável de modelo do expandWrapper para que possamos acessá-lo mais tarde, e a classe colapsada está sendo aplicada condicionalmente com base no valor expandido. É assim que vamos alternar o estilo recolhido para fazer o efeito de Accordion.

Para isso, vamos modificar o arquivo: src/components/expandable/expandable.scss

Quando a classe colapsada for aplicada, forçará a altura do invólucro a ser 0 (zero), então ele deve desaparecer, e também vamos adicionar uma propriedade de transição para que o componente encolhe ou cresça sem problemas.

Então, vamos modificar o arquivo: src/components/expandable/expandable.ts

Agora temos a classe para o componente. Isso também é bastante simples – configuramos as duas entradas que queríamos, e também agarramos uma referência ao expandWrapper usando a variável de modelo que adicionamos anteriormente. Usamos essa referência para definir a altura do componente na função ngAfterViewInit.

 

3. Utilizar o componente Accordion List

Bom, depois de criado o componente e configurado corretamente, vamos agora utilizá-lo em nossa aplicação.

Como mencionei, vamos usá-lo para criar um efeito de Accordion List, então, vamos usá-lo em uma lista. É bem simples, porém precisamos adicionar um pouco de lógica para fechar todos os outros componentes expandidos na lista quando um novo componente é expandido (de modo que apenas um esteja aberto por vez), certo?!

Vamos modificar o arquivo src/pages/home/home.html 

Acabamos de adicionar uma lista padrão, exceto que adicionamos um componente dentro dele.

Nós vinculamos a entrada de conteúdo expandida para o valor de cada item particular de propriedade expandida (o que nos permitirá alternar individualmente), e também temos um manipulador  expandItem, o que nos permitirá alternar o estado expandido dos itens.

Nossa função expandItem mapeia cada elemento na matriz – quando chegar ao item que foi clicado, ele alternará seu estado, e ele irá definir qualquer outro item expandido de volta para o estado colapsado, criando assim, o efeito de Accordion.

Então, vamos aplicá-lo ao arquivo src/pages/home/home.ts 

Ainda podemos deixar a lista um pouco mais elegante, alinhando o componente à imagem e o botão de exibição na parte superior do item.

Para isso, vamos alterar o arquivo src/pages/home/home.scss:

Se você carregar o aplicativo no seu navegador agora, você deve ter algo que se parece com isto:

Para executar no navegador, executamos o comando:

 

Bom, é isso.

A partir daí, a criatividade pode deixar nossa aplicação ainda mais interativa e bonita.

Espero que tenham gostado e que possa ser útil nos projetos de vocês.

O Código fonte para tudo isso que fizemos, encontra-se aqui.

Valeu pessoal, até mais!!

Previous Veja como criar notificações no Chrome através da classe Notifications!
Next Criando um background com slides em aplicações mobile com Ionic

About author

Junior Abranches
Junior Abranches 18 posts

Um apaixonado por tecnologia e desenvolvimento web e mobile. Compartilhar e aprender sempre!

You might also like

Mobile 8 Comments

Curso grátis de Ionic em português

Share this on WhatsAppConfira uma série de vídeo aulas sobre Ionic Pessoal hoje venho trazer uma ótima notícia pra vocês, recebi um desafio de fazer um aplicativo em Ionic e

Mobile 0 Comments

Curso Ionic em português – Aula 6 – Excluindo e pesquisando dados

Share this on WhatsAppVeja como excluír e pesquisar dados na localStorage Pessoal, continuando com nossa série de vídeo aulas, hoje trago para vocês dicas de como excluír dados na localStorage,

Mobile 0 Comments

[IONIC 3] – Zoom em Imagem

Share this on WhatsAppOlá pessoal, tudo bem? A dica de hoje é bem simples e útil, vamos aprender facilmente a dar zoom em imagens com Ionic, ok? Bora lá? 1. Criar o

1 Comment

  1. Jefferson
    novembro 09, 10:53 Reply
    Oii,bom dia , como faço pra usar em minha pagina já criada ? é só copiar os elemetos e cola ?

Leave a Reply