Pagination 分页
当数据量过多时,使用分页分解数据。
基础用法
设置最大页码按钮数
带有背景色的分页
小型分页
在空间有限的情况下,可以使用简单的小型分页。
当只有一页时隐藏分页
当只有一页时,通过设置 hide-on-single-page 属性来隐藏分页。
附加功能
根据场景需要,可以添加其他功能模块。
属性
| 属性 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| small | 是否使用小型分页样式 | boolean | — | false |
| background | 是否为分页按钮添加背景色 | boolean | — | false |
| page-size | 每页显示条目个数,支持 v-model 双向绑定 | number | — | 10 |
| default-page-size | 每页显示条目数的初始值 | number | - | - |
| total | 总条目数 | number | — | — |
| page-count | 总页数 total 和 page-count 设置任意一个就可以达到显示页码的功能;如果要支持 page-sizes 的更改,则需要使用 total 属性 | number | — | — |
| pager-count | 设置最大页码按钮数。 页码按钮的数量,当总页数超过该值时会折叠 | number | 5 ≤ x ≤ 21 的奇数 | 7 |
| current-page | 当前页数,支持 v-model 双向绑定 | number | — | 1 |
| default-current-page | 当前页数的初始值 | number | - | - |
| layout | 组件布局,子组件名用逗号分隔 | string | sizes / prev / pager / next / jumper / -> / total / slot | 'prev, pager, next, jumper, ->, total' |
| page-sizes | 每页显示个数选择器的选项设置 | number[] | — | [10, 20, 30, 40, 50, 100] |
| popper-class | 每页显示个数选择器的下拉框类名 | string | — | — |
| prev-text | 替代图标显示的上一页文字 | string | — | — |
| next-text | 替代图标显示的下一页文字 | string | — | — |
| disabled | 是否禁用分页 | boolean | — | false |
| hide-on-single-page | 只有一页时是否隐藏 | boolean | — | - |
WARNING
我们现在会检查一些不合理的用法,如果发现分页器未显示,可以核对是否违反以下情形:
total和page-count必须传一个,不然组件无法判断总页数;优先使用page-count;- 如果传入了
current-page必须监听current-page变更的事件(onUpdate:currentPage);否则分页切换不起作用; - 如果传入了
page-size,且布局包含 page-size 选择器(即layout包含sizes),必须监听page-size变更的事件(onUpdate:pageSize),否则page-size切换不起作用;
事件
| 事件名 | 说明 | 参数 |
|---|---|---|
| size-change | pageSize 改变时触发 | 新每页条数 |
| current-change | current-change 改变时触发 | 新当前页 |
| prev-click | 用户点击上一页按钮改变当前页时触发 | 新当前页 |
| next-click | 用户点击下一页按钮改变当前页时触发 | 新当前页 |
WARNING
以上事件不推荐使用(但由于兼容的原因仍然支持,在以后的版本中将会被删除);如果要监听 current-page 和 page-size 的改变,使用 v-model 双向绑定是个更好的选择。
插槽
| 名称 | 说明 |
|---|---|
| — | 自定义内容 设置文案,需要在 layout 中列出 slot |