Перейти до вмісту
tatetUI

Pagination

Пагінація з діапазоном записів, розміром сторінки та мобільним виглядом «X з Y».

Зведено з кількох реалізацій TablePagination — діапазон «1–20 з 437», вибір розміру сторінки, усічений ряд номерів із «…». На мобільному ряд номерів ховається — лишається «X з Y» і стрілки, бо влучити пальцем у «14» з восьми квадратиків по 32px нереально.

Приклад

41–60 з 437

Сторінка 3 із 22, розмір 20.

API

Props

НазваТипТиповоОпис
page*numberПоточна сторінка. Використовуйте через `v-model:page`.
totalPages*numberСкільки всього сторінок.
totalItemsnumbernullЗагальна кількість записів — для тексту «1–20 з 437».
pageSizenumberundefinedРозмір сторінки. Використовуйте через `v-model:pageSize`.
pageSizeOptionsnumber[]undefinedВаріанти розміру сторінки. Порожньо — селект не рендериться.
siblingCountnumber1Скільки сусідніх сторінок показувати навколо активної.
disabledbooleanfalse

Події

НазваPayloadОпис
update:page[value: number]Новий номер сторінки. Використовуйте через `v-model:page`.
update:pageSize[value: number]Новий розмір сторінки. Використовуйте через `v-model:page-size`.

Коли використовувати

Для серверної пагінації таблиць і списків. Разом з UiTable: активуйте rowClickable у таблиці й керуйте сторінкою ззовні.

Коли НЕ використовувати

Для стрічок, що підтягуються нескінченно (feed), — там пагінація ламає скрол; потрібен «Показати ще».

Не показуйте компонент для однієї сторінки: він сам не рендериться, коли totalPages ≤ 1 і немає pageSizeOptions.

Доступність

Контейнер — <nav aria-label="Пагінація">, активна сторінка — aria-current="page". Стрілки мають aria-label, бо іконки без тексту для скрінрідера безіменні. Числові колонки вирівняні tabular-nums.