组件
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
| 名称 | 签名 | 说明 |
|---|---|---|
total | total: number | 记录总数。 |
page | page?: number | 受控当前页。 |
defaultPage | defaultPage?: number | 非受控初始页。 |
pageSize | pageSize?: number | 受控每页条数。 |
defaultPageSize | defaultPageSize?: number | 非受控初始每页条数,默认 10。 |
pageSizeOptions | pageSizeOptions?: readonly number[] | 每页条数选项。 |
siblingCount | siblingCount?: number | 当前页两侧保留页数,默认 1。 |
showQuickJumper | showQuickJumper?: boolean | 显示快速跳转输入框。 |
disabled | disabled?: boolean | 禁用所有控件。 |
ariaLabel | ariaLabel?: string | 导航可访问名称,默认“分页”。 |
| 名称 | 签名 | 说明 |
|---|---|---|
change | (event: OnePaginationChangeEvent) => void | 事件包含 page: number、pageSize: number 与 originalEvent: Event。 |