Pagination
当数据量过多时,使用分页分解数据。
基本用法
current: 设置当前页数,从1开始,1 表示第一页pageSize: 设置每页的条数,默认为10total: 设置总条数
function App() {
const args = {
total: 120,
current: 7,
pageSize: 20,
onChange: (page) => {
console.log('page', page)
},
onShowSizeChange: (pageSize) => {
console.log('pageSize:', pageSize)
},
}
return (
<Pagination {...args} />
)
}
功能选项
设置 layout : 默认不传为全部功能, 取值: total, sizes, prev, pager, next, jumper
function App() {
const args = {
total: 120,
current: 7,
onChange: (page) => {
console.log('page', page)
},
onShowSizeChange: (pageSize) => {
console.log('pageSize:', pageSize)
},
layout: 'sizes, prev, pager, next', //total, sizes, prev, pager, next, jumper
}
return (
<Pagination {...args} />
)
}
控制首、中、尾显示的页码数
设置 visiblePages : 默认 [0, 3, 0]
function App() {
const args = {
total: 120,
current: 7,
onChange: (page) => {
console.log('page', page)
},
onShowSizeChange: (pageSize) => {
console.log('pageSize:', pageSize)
},
visiblePages: [1, 3, 1],
}
return (
<Pagination {...args} />
)
}
控制一页几行的下拉数组
pageSizeOptions : 传入一个 number 集合的数组
function App() {
const args = {
total: 120,
current: 7,
pageSize: 20,
pageSizeOptions: [5, 10, 20, 30],
onChange: (page) => {
console.log('page', page)
},
onShowSizeChange: (pageSize) => {
console.log('pageSize:', pageSize)
},
}
return (
<Pagination {...args} />
)
}
API
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| className | 类名 | string | -- |
| style | 样式 | CSSProperties | -- |
| layout | 布局 | total〡sizes〡prev〡pager〡next〡jumper | -- |
| visiblePages | 首、中、尾显示的页码数 | number[] | [0, 3, 0] |
| current | 从1开始,1 表示第一页 | number | 1 |
| total | 总条数 | number | -- |
| pageSize | 每页的条数 | number | -- |
| pageSizeOptions | 一页几行的下拉数组 | pageSizeOptions | -- |
| onChange | 触发事件 | Func | -- |
| onShowSizeChange | 触发事件 | Func | -- |