Pagination
Ссылки или кнопки для перехода между страницами результатов.
- Браузеры
- Chrome 123+Firefox 121+Safari 17.5+
- Уровень
- 0
- Сжатый размер
- 2.59 kB
- Лимит принудительной компоновки
- 0 ms
- Лимит axe
- 0
- Совместим с SSR
- Да
- Публичный контракт
- Тестовый стенд
Песочница
Pagination
API
Pagination.Root
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
aria-label | string | "Pagination" | Доступное название навигационной области. |
boundaryCount | number | 1 | Число страниц, всегда показываемых на каждом конце диапазона. |
count* | number | — | Общее число страниц. |
defaultPage | number | 1 | Изначально выбранная страница неуправляемого компонента. |
disabled | boolean | false | Отключает все страницы и элементы навигации. |
onPageChange | (page: number) => void | — | Вызывается с новым номером страницы при каждом её изменении. |
page | number | — | Текущая страница, делающая компонент управляемым. |
showFirstLast | boolean | false | Добавляет в созданные пункты элементы перехода к первой и последней страницам. |
siblingCount | number | 1 | Число страниц, показываемых с каждой стороны текущей страницы. |
children | ReactNode | — | Собственная разметка пунктов; если не задана, отображается созданный список страниц. |
getPageHref | (page: number) => string | — | Формирует href каждой страницы, чтобы серверная оболочка создавала настоящие ссылки, работающие без JavaScript. |
render | ReactElement | ((props, state) => ReactElement) | — | Заменяет отображаемый элемент, сохраняя поведение и связи доступности. |
Pagination.List
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
children | ReactNode | — | Пункты пагинации внутри списка. |
render | ReactElement | ((props, state) => ReactElement) | — | Заменяет отображаемый элемент, сохраняя поведение и связи доступности. |
Pagination.Item
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
children | ReactNode | — | Содержимое одного пункта списка пагинации. |
render | ReactElement | ((props, state) => ReactElement) | — | Заменяет отображаемый элемент, сохраняя поведение и связи доступности. |
Pagination.Link
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
disabled | boolean | false | Отключает элемент управления и удаляет его href. |
getPageHref | (page: number) => string | — | Формирует href этой страницы, превращая элемент управления в настоящую ссылку. |
page* | number | — | Номер страницы, выбираемой этим элементом управления. |
selected | boolean | false | Помечает страницу текущей и задаёт ей aria-current. |
render | ReactElement | ((props, state) => ReactElement) | — | Заменяет отображаемый элемент, сохраняя поведение и связи доступности. |
Pagination.Ellipsis
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
children | ReactNode | — | Содержимое многоточия, скрытое от вспомогательных технологий. |
render | ReactElement | ((props, state) => ReactElement) | — | Заменяет отображаемый элемент, сохраняя поведение и связи доступности. |
Клавиатура
| Клавиша | Действие |
|---|---|
| Tab | Перевести фокус на элемент управления или с него |
| Enter / Space | Активировать при наличии фокуса (для элементов управления типа кнопки) |
Доступность
По возможности используется семантический HTML. Изучите разметку в песочнице: ARIA добавляется только там, где нативных элементов недостаточно.
Привязка стилей
data-disabled