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

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

You might also like

FrontEnd 0 Comments

Qual o melhor framework html5?

Share this on WhatsAppConstrua sites com componentes e funcionalidades mais ricas No poste de hoje venho abordar um assunto que vem atraindo cada vez mais a atenção dos desenvolvedores front-end

Mobile 0 Comments

Curso Ionic em português – Aula 7 – Gerando nosso APK

Share this on WhatsAppVeja como geramos nosso apk para por o app no celular Pessoal, continuando com nossa série de vídeo aulas, hoje trago dicas de como podemos realizar a

Mobile 3 Comments

[IONIC] – Pinterest Layout

Share this on WhatsAppOlá galera, tudo bem com vocês? Hoje vou mostrar como fazer uma Grid com imagens e textos no estilo Pinterest. A partir deste tutorial, você pode criar

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