Continuando a série de melhorias de UX no Angular 2 (ou superior), hoje irei falar sobre um item muito importante quando construimos uma tabela de registros, a paginação!
A paginação permite que as informações sejam quebradas entre páginas, com o intuíto de evitar uma enorme quantidade de dados e ter uma página enorme, cheia de registros.
Para fazer nossa paginação, usaremos o ngx-pagination, então em seu terminal, na pasta do seu projeto Angular, execute o comando:
1 | npm install ngx-pagination --save |
Assim como fizemos no post sobre como fazer filtro na tabela do Angular, devemos adicionar os módulos desta dependência dentro do nosso arquivo app.module
, então nosso arquivo ficaria algo parecido com:
1 |
|
Este ngx
nos fornece um pipe no qual podemos utilizar no nosso código table
e também nos fornece o componente pagination-controls
, que nada mais é que um componente onde irá conter os números das páginas e os controles de página (Próxima/Anterior).
Adicione em sua tabela o pipe paginate
e adicione no final o seu controlador de páginas, da seguinte maneira:
1 | <!-- Começo do código da tabela --> |
E agora dentro do nosso arquivo app.component.ts
(ou o arquivo .component no qual você está trabalhando), devemos inicializar a variável paginaAtual
:
1 | export class AppComponent { |
Agora temos um componente de paginação totalmente funcional! Mas será que faz sentido deixar os nossos navegadores de páginas em inglês? Talvez até faça, mas o ngx-pagination possui uma enorme quantidade de parâmetros opcionais no qual podemos passar! Para alterar o label de “Previous/Next”, podemos fazer da seguinte forma:
1 | <!-- Começo do código da tabela --> |
Existem outros parâmetros no qual você pode adicionar em sua paginação, no Github do componente você consegue ver quais outras opções podem ser passadas!
Não deixe de conferir os outros posts sobre como fazer ordenação na tabela do Angular e como fazer filtro na tabela do Angular!