Pagination

分页器组件。

何时使用 #

在有大量内容展现需要进行分页加载处理的时候。

代码演示 #

非受控分页 #

非受控分页,是指分页组件的状态由自己维护,组件值的改变可以通过 onChange 事件通知父组件,默认值由 defaultCurrent 初始化。

2/10到第

受控分页 #

受控分页,是指分页组件的状态由父组件维护,组件自身只负责渲染其父组件传递的值,父组件通过 current 属性传递当前的值。

2/10到第

更多分页 #

当分页数大于5时,自动展示 ...

1/50到第

每页显示 #

可以通过设置 pageSize 属性来指定每页显示的数量。
可以通过设置 pageSizeSelector 属性来指定是否显示 每页数量选择 的部件以及部件形状。
可以通过设置 pageSizeList 属性来指定 每页显示数量 可选的值。
可以通过设置 pageSizePosition 属性来指定 每页显示数量选择 的部件显示在整个组件的开始位置还是结束位置。
可以通过设置 onPageSizeChange 属性来指定每页显示的数量变化时的回调函数。

Set page size

Hide page size selector

1/10到第

Set page size selector to 'dropdown',and show it in the end

1/10到第
每页显示:10

Use pageSizeList to specify the number of records per page.

每页显示:

跳转 #

快速跳转到某一页,可以设置 false 来隐藏。

Hide jump forcibly

分页尺寸 #

可以通过指定 size 属性来设置分页的尺寸。

small

2/10到第

medium

2/10到第

large

2/10到第

前进后退按钮只显示箭头 #

可以通过指定 shape 属性来设置前进后退按钮箭头的显示方式。

normal

2/10到第

arrow-only

2/10到第

arrow-prev-only

2/10到第

no-border

2/10

简洁/迷你 风格 #

可以通过指定 type 属性来设置分页器的类型。

normal

2/10到第

simple

2/10

mini

显示总数 #

分页组件默认不显示总数,你可以通过 totalRender 自定义总数的显示结果。

Total: 50

配合 react-router 使用 #

单页应用场景下,Pagination 组件可以使用外部跳转的方法来实现单页内部跳转。

2/10到第

API #

Pagination #

参数 说明 类型 默认值
size 分页组件大小

可选值:
'small', 'medium', 'large'
Enum 'medium'
type 分页组件类型

可选值:
'normal', 'simple', 'mini'
Enum 'normal'
shape 前进后退按钮样式

可选值:
'normal', 'arrow-only', 'arrow-prev-only', 'no-border'
Enum 'normal'
current (受控)当前页码 Number -
defaultCurrent (非受控)初始页码 Number 1
onChange 页码发生改变时的回调函数

签名:
Function(current: Number, e: Object) => void
参数:
current: {Number} 改变后的页码数
e: {Object} 点击事件对象
Function () => {}
total 总记录数 Number 100
totalRender 总数的渲染函数

签名:
Function(total: Number, range: Array) => void
参数:
total: {Number} 总数
range: {Array} 当前数据在总数中的区间
Function -
pageShowCount 页码显示的数量,更多的使用...代替 Number 5
pageSize 一页中的记录数 Number 10
pageSizeSelector 每页显示选择器类型

可选值:
false, 'filter', 'dropdown'
Enum false
pageSizeList 每页显示选择器可选值 Array<Number>/Array<Object> [5, 10, 20]
pageNumberRender 自定义页码渲染函数,函数作用于页码button以及当前页/总页数的数字渲染

签名:
Function(index: Number) => ReactNode
参数:
index: {Number} 分页的页码,从1开始
返回值:
{ReactNode} 返回渲染结果
Function index => index
pageSizePosition 每页显示选择器在组件中的位置

可选值:
'start', 'end'
Enum 'start'
useFloatLayout 存在每页显示选择器时是否使用浮动布局 Boolean false
onPageSizeChange 每页显示记录数量改变时的回调函数

签名:
Function(pageSize: Number) => void
参数:
pageSize: {Number} 改变后的每页显示记录数
Function () => {}
hideOnlyOnePage 当分页数为1时,是否隐藏分页器 Boolean false
showJump type 设置为 normal 时,在页码数超过5页后,会显示跳转输入框与按钮,当设置 showJump 为 false 时,不再显示该跳转区域 Boolean true
link 设置页码按钮的跳转链接,它的值为一个包含 {page} 的模版字符串,如:https://www.taobao.com/{page} String -
popupProps 弹层组件属性,透传给Popup Object -

无障碍键盘操作指南 #

按键 说明
Tab 切换页数
Space 按下按钮
Enter 按下按钮