angular / angular/components

[Paginator] When Updated length is "shorter" than the pageIndex (*pageSize), pageIndex should be updated and then a pageEvent to the pageIndex emited

Ouverte
#14,520 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
area: material/paginator P4
Langage dominant
TypeScript
Étoiles
25k
Forks
6.8k
Merge moyen
1 j 8 h
PR mergées (30 j)
91

Description

#### What is the expected behavior?
When I am on the last Page of a dataSet and then delete the elements that are currently showing (or filter elements "away"), and thereby change the length property, the paginator should update the pageIndex to the ACTUAL lastPage and then _emitPageEvent() there.

#### What is the current behavior?
When I am on the last Page of a table and then delete the element(s) that are currently showing, the paginator will simply show a empty table with a label like "91 - 100 of 90".
Also: I am using an Array as Datasource for my Table.

#### What are the steps to reproduce?
The example in the Documentations shows the behavior very well (but if necessary I can still provide the stackblitz with a table)
https://material.angular.io/components/paginator/examples

Steps
#1 Click 9x on the "nextPage" Button until you are on the last Page (91-100 of 100)
#2 Click on the input "List length" and enter "90"
-> The paginator shows "91-100 of 90" INSTEAD should show "81-90 of 90" and a PageEvent fired to the last Page

#### Which versions of Angular, Material, OS, TypeScript, browsers are affected?
I had the problem with Material+Material 6, but apparently it shows as well on 7
Browser: Chrome
OS: Win 10

#### Is there anything else we should know?
Inside the Paginator Component: The setter function for the length property could simply test `if (Math.floor(value, this.pageSize) < this.pageIndex) { /* set pageIndex and emitPageEvent accordingly */}`

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par l’exemple de paginator dans la documentation d’Angular Material, reproduisez la modification de la longueur de la dernière page de 100 à 90, puis examinez le setter de length du composant Paginator. C’est terminé lorsque la page passe de 91–100 à 81–90 sur 90 et qu’un PageEvent est émis pour la nouvelle dernière page.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
angular, typescript
Domaine
frontend
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.