صفحهبندی کنترلشده (Pagination Controlled)
کامپوننت صفحهبندی آماده با مدیریت state، ellipsis هوشمند و پشتیبانی RTL.
معرفی
کامپوننت PaginationControlled یک لایه بالاتر روی Pagination پایه است که منطق تولید شماره صفحات، ellipsis هوشمند، و کنترل دکمههای قبلی/بعدی را مدیریت میکند.
چه زمانی استفاده کنیم:
- برای اکثر سناریوهای صفحهبندی — این کامپوننت پیشنهادی است
- وقتی نیاز به مدیریت خودکار ellipsis و شماره صفحات دارید
- برای جداول و لیستهایی که state صفحهبندی در React مدیریت میشود
چه زمانی استفاده نکنیم:
- وقتی pagination باید URL-aware باشد — state را از query params بخوانید
- برای infinite scroll — از
useInfiniteQuery+ LoadMore استفاده کنید
استفاده
import { PaginationControlled } from '@parto-system-design/ui'
export default function MyComponent() {
const [page, setPage] = React.useState(1)
return <PaginationControlled currentPage={page} totalPages={20} onPageChange={setPage} />
}حالتها و انواع
با دکمههای اول و آخر
<PaginationControlled currentPage={5} totalPages={20} onPageChange={setPage} showFirstLast />بدون ellipsis
<PaginationControlled currentPage={3} totalPages={8} onPageChange={setPage} showEllipsis={false} />Props
راهنمای استفاده
بکنید
- از
siblingCountبرای کنترل تعداد صفحات نمایشدادهشده در هر طرف صفحه فعلی استفاده کنید - برای جداول با صفحات زیاد،showFirstLastرا فعال کنید -localeرا بر اساس زبان اپلیکیشن تنظیم کنید تا اعداد به درستی نمایش داده شوند
نکنید
totalPagesرا صفر یا منفی ندهید — حداقل ۱ صفحه لازم است- وقتی فقط ۱ صفحه وجود دارد، Pagination را نمایش ندهید — بررسی کنید
totalPages > 1
دسترسیپذیری
- بهصورت خودکار
dir="rtl"برای زبانهای فارسی و عربی تنظیم میکند - اعداد با
convertToLocalNumbersبه زبان انتخابشده تبدیل میشوند
کامپوننتهای مرتبط
- Pagination — وقتی نیاز به سفارشیسازی عمیقتر دارید و میخواهید آیتمهای صفحهبندی را دستی بچینید