Skip to content

Pagination ​

La navigation entre les pages.

Le calcul des numéros et des ellipses vient de @sia-ui/headless : usePagination et ce composant appliquent la même règle, écrite une fois.

Installation ​

bash
sia-ui add pagination

Ou par le paquet, sans rien copier :

tsx
import { Pagination } from "@sia-ui/react-web";

Props ​

PropTypeDéfautDescription
* onPageChange(page: number) => void—
* pagenumber—
* totalPagesnumber—
ariaLabelstring—
classNamestring—
compactbooleanfalseMasque les libellés et ne garde que les flèches.
jumpTobooleanfalseAjoute un champ pour sauter directement à une page. Sur quarante pages, atteindre la vingt-septième demande sinon de cliquer dans les ellipses jusqu'à ce qu'elle apparaisse.
nextLabelstring—
onPageSizeChange(pageSize: number) => void—Fourni avec pageSize, ajoute le choix du nombre de lignes par page. Seul le nouveau nombre est remonté : revenir en page 1 est l'affaire de qui tient l'état — setPerPage de useTableQuery le fait déjà.
pageSizenumber—Le nombre de lignes par page en vigueur.
pageSizeLabelstring—Le libellé du choix. Par défaut locale.perPage — « Par page ».
pageSizeOptionsnumber[][10, 20, 50, 100]Les tailles proposées. Par défaut 10, 20, 50, 100. Une taille en vigueur absente de la liste y est ajoutée, pour que le champ ne paraisse jamais vide.
pageSizeSelectPropsPartial<Omit<SelectProps, "children" | "value" | "defaultValue" | "onValueChange" | "options">>—Le Select de taille de page : placement, variante, classe. La valeur, les options et le rappel restent calculés ici — on les règle par pageSize, pageSizeOptions et onPageSizeChange.
previousLabelstring—
renderPageSize(context: PageSizeContext) => ReactNode—Remplace entièrement le contrôle — des boutons segmentés, un champ libre. Le choix des tailles et leur tri sont déjà faits.
showTotalbooleanfalseAffiche « Page 3 sur 40 » à côté des numéros.
siblingCountnumber1

* obligatoire.

Voir aussi ​

Publié sous licence MIT.