Pagination
用于在结果页面之间切换的链接或按钮。
- 浏览器
- Chrome 123+Firefox 121+Safari 17.5+
- 层级
- 0
- 压缩后大小
- 2.59 kB
- 强制布局预算
- 0 ms
- axe 预算
- 0
- 支持 SSR
- 是
- 公开契约
- 测试环境
交互示例
Pagination
API
Pagination.Root
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
aria-label | string | "Pagination" | 导航地标的无障碍名称。 |
boundaryCount | number | 1 | 范围两端始终显示的页数。 |
count* | number | — | 总页数。 |
defaultPage | number | 1 | 组件非受控时初始选中的页。 |
disabled | boolean | false | 禁用所有页面和导航控件。 |
onPageChange | (page: number) => void | — | 页面变化时,使用新页码调用。 |
page | number | — | 当前页,使组件受控。 |
showFirstLast | boolean | false | 为生成的项目添加首页和末页控件。 |
siblingCount | number | 1 | 当前页两侧各显示的页数。 |
children | ReactNode | — | 自定义项目标记;省略时渲染自动生成的页面列表。 |
getPageHref | (page: number) => string | — | 构建每页的href,让服务端外壳渲染无须JavaScript即可工作的真实链接。 |
render | ReactElement | ((props, state) => ReactElement) | — | 替换渲染元素,同时保留行为和无障碍连接关系。 |
Pagination.List
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
children | ReactNode | — | 在列表内渲染的分页项。 |
render | ReactElement | ((props, state) => ReactElement) | — | 替换渲染元素,同时保留行为和无障碍连接关系。 |
Pagination.Item
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
children | ReactNode | — | 单个分页列表项的内容。 |
render | ReactElement | ((props, state) => ReactElement) | — | 替换渲染元素,同时保留行为和无障碍连接关系。 |
Pagination.Link
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
disabled | boolean | false | 禁用控件并移除其href。 |
getPageHref | (page: number) => string | — | 构建此页的href,使控件成为真实链接。 |
page* | number | — | 此控件选择的页码。 |
selected | boolean | false | 将此页标为当前页,并设置aria-current。 |
render | ReactElement | ((props, state) => ReactElement) | — | 替换渲染元素,同时保留行为和无障碍连接关系。 |
Pagination.Ellipsis
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
children | ReactNode | — | 省略号内容,对辅助技术隐藏。 |
render | ReactElement | ((props, state) => ReactElement) | — | 替换渲染元素,同时保留行为和无障碍连接关系。 |
键盘
| 按键 | 操作 |
|---|---|
| Tab | 将焦点移入或移出控件 |
| Enter / Space | 获得焦点时激活(按钮类控件) |
无障碍
尽可能使用语义化HTML。可在交互示例中检查渲染的标记;仅在原生元素无法满足需求时添加ARIA。
样式钩子
data-disabled