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 4 posts

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

You might also like

Ferramentas 0 Comments

Xamarin Forms – Data Binding entre controles

Share this on WhatsAppAprenda fazer Data Binding entre seus componentes de sua View no Xamarin Forms Fala galera, beleza? Como alguns de vocês já sabem, depois de passar um tempo

Veja como criar aplicação web, desktop e mobile com um único código

Share this on WhatsAppAndré Baltieri disponibiliza curso que leva AngularJS pra todo lado Esta semana nosso parceiro e amigo André Baltieri disponibilizou um curso muito interessante onde ele irá mostrar

Mobile 4 Comments

Curso completo de Xamarim Forms em português

Share this on WhatsAppConheça tudo sobre o Xamarim Forms Já falei aqui no blog sobre a diferença entre aplicações nativas e híbridas, e que aplicações nativas tem um desempenho muito

0 Comments

No Comments Yet!

You can be first to comment this post!

Leave a Reply