One UI

OnePagination

page 与 pageSize 可分别受控;defaultPage 与 defaultPageSize 提供非受控初始状态。所有变更统一发出 change。

查看代码收起代码
import { OnePagination } from '@geektech/one';

new OnePagination({
  total: 95,
  defaultPage: 3,
  pageSizeOptions: [10, 20, 50],
  showQuickJumper: true,
});

页码窗口与收敛

页码窗口始终保留首尾页,并按 siblingCount 显示当前页附近页码。改变 pageSize 或快速跳转时,目标页会收敛到有效范围。

键盘与 ARIA

导航、上一页、下一页、数字页、每页条数和快速跳转均有明确 aria-label;当前页使用 aria-current=page。Enter 提交快速跳转,disabled 会禁用所有交互控件。

API

OnePaginationProps
名称签名说明
totaltotal: number记录总数。
pagepage?: number受控当前页。
defaultPagedefaultPage?: number非受控初始页。
pageSizepageSize?: number受控每页条数。
defaultPageSizedefaultPageSize?: number非受控初始每页条数,默认 10。
pageSizeOptionspageSizeOptions?: readonly number[]每页条数选项。
siblingCountsiblingCount?: number当前页两侧保留页数,默认 1。
showQuickJumpershowQuickJumper?: boolean显示快速跳转输入框。
disableddisabled?: boolean禁用所有控件。
ariaLabelariaLabel?: string导航可访问名称,默认“分页”。
OnePagination 事件
名称签名说明
change(event: OnePaginationChangeEvent) => void事件包含 page: number、pageSize: number 与 originalEvent: Event。