رفتن به محتوای اصلی

کامپوننت‌ها

صفحه‌بندی

پیمایش بین صفحه‌های یک فهرست، با ارقام فارسی و «…» برای صفحه‌های زیاد.

import { Pagination } from "@kashi-ui/react";

نمونه

const [page, setPage] = useState(4);

<Pagination page={page} total={12} onChange={setPage} summary="صفحهٔ ۴ از ۱۲" />

// با لینک (بهتر برای موتورهای جستجو)
<Pagination page={page} total={12} getHref={(p) => `?page=${p}`} />

ویژگی‌ها

نامنوعپیش‌فرضتوضیح
page / totalnumber—صفحهٔ فعلی و تعداد کل
onChange(page) => void—برای صفحه‌بندی با دکمه
getHref(page) => string—برای صفحه‌بندی با لینک
siblingsnumber1تعداد صفحه‌های کنار صفحهٔ فعلی
summaryReactNode—متن خلاصه
digits"fa" | "latin""fa"خط ارقام
pageSize / pageSizes / onPageSizeChangenumber / number[] / (size) => void— / [10, 20, 50, 100]فهرست «در هر صفحه»
jumperbooleanfalseفیلد «برو به صفحه» (با onChange)

تعداد در هر صفحه و پرش به صفحه

برای جدول‌های بلند: با onPageSizeChange فهرست «در هر صفحه» و با jumper فیلد «برو به صفحه» نمایش داده می‌شود. فیلد پرش ارقام فارسی و انگلیسی را می‌پذیرد.

<Pagination page={page} total={total} onChange={setPage}
pageSize={size} onPageSizeChange={setSize} pageSizes={[10, 20, 50, 100]}
jumper summary="۴۱ تا ۶۰ از ۴۸۷" />

دسترس‌پذیری

  • داخل <nav aria-label="صفحه‌بندی">؛ صفحهٔ فعلی aria-current="page" و هر شماره نام کامل «صفحهٔ ۵» دارد.
  • «قبلی» در صفحهٔ اول و «بعدی» در صفحهٔ آخر غیرفعال‌اند. فوکوس کیبورد پس از تغییر صفحه حفظ می‌شود.