Pagination 分页
当单页数据过多时,使用分页拆分展示。
基础用法
通过 layout 逗号分隔需要展示的元素:prev(上一页)、next(下一页)、pager(页码列表)、jumper(跳转输入)、total(总数)、sizes(每页条数选择),以及 ->(其后的元素靠右对齐)。
When you have few pages
- 1
- 2
- 3
- 4
- 5
When you have more than 7 pages
- 1
- 2
- 3
- 4
- 5
- 6
- 100
页码按钮数量
超过 7 页时会折叠多余页码,可用 pager-count 配置。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 50
带背景色
设置 background 为按钮添加背景色。
- 1
- 2
- 3
- 4
- 5
- 6
- 100
小型分页
空间有限时使用小型分页。
通过 size 使用 small。
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
仅一页时隐藏
仅一页时可通过 hide-on-single-page 隐藏分页。
- 1
更多功能组合
按场景组合模块。
本例监听 size-change 与 current-change 处理每页条数与当前页变化。page-sizes 为整数数组,如 [100, 200, 300, 400] 表示每页条数下拉的四个选项。
background:
disabled:
Total item count
Total 1000
- 1
- 3
- 4
- 5
- 6
- 7
- 10
Change page size
- 1
- 3
- 4
- 5
- 6
- 7
- 10
Jump to
- 1
- 3
- 4
- 5
- 6
- 7
- 10
All combined
Total 400
- 1
- 2
- 3
- 4
分页 API
分页 属性
| 名称 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| size | 尺寸 | enum | 'default' |
| background | 是否为按钮添加背景色 | boolean | false |
| page-size / v-model:page-size | 每页条数 | number | — |
| default-page-size | 每页条数初始值;不设则与 10 相同 | number | — |
| total | 总条目数 | number | — |
| page-count | 总页数。需设置 total 或 page-count 之一;若使用 page-sizes,必须提供 total | number | — |
| pager-count | 页码按钮最大数量,超过则折叠 | number | 7 |
| current-page / v-model:current-page | 当前页 | number | — |
| default-current-page | 当前页初始值;不设则与 1 相同 | number | — |
| layout | 布局,逗号分隔组件名 | string | prev, pager, next, jumper, ->, total |
| page-sizes | 每页条数可选列表 | array | [10, 20, 30, 40, 50, 100] |
| append-size-to | 每页条数下拉挂载元素 | string | — |
| popper-class | 每页条数选择器下拉的自定义类名 | string | '' |
| popper-style | 每页条数选择器下拉的自定义样式 | string / object | — |
| prev-text | 上一页按钮文字 | string | '' |
| prev-icon | 上一页图标,优先级低于 prev-text | string / Component | ArrowLeft |
| next-text | 下一页按钮文字 | string | '' |
| next-icon | 下一页图标,优先级低于 next-text | string / Component | ArrowRight |
| disabled | 是否禁用 | boolean | false |
| teleported | 每页条数下拉是否传送到 body | boolean | true |
| hide-on-single-page | 仅一页时是否隐藏 | boolean | false |
WARNING
若分页未显示或行为异常,请检查:
- 必须设置
total与page-count之一;同时设置时以page-count为准。 - 若使用
current-page,需同时监听@update:current-page(或v-model:current-page),否则当前页不会更新。 - 若使用
page-size且layout含sizes,需监听@update:page-size(或v-model:page-size),否则每页条数切换无效。
分页 事件
| 名称 | 说明 | 类型 |
|---|---|---|
| size-change | page-size 变化时 | Function |
| current-change | current-page 变化时 | Function |
| change | current-page 或 page-size 变化时 | Function |
| prev-click | 点击上一页且当前页变化时 | Function |
| next-click | 点击下一页且当前页变化时 | Function |
WARNING
上述事件仍支持但不推荐,优先使用 v-model 双向绑定。
分页 插槽
| 名称 | 说明 |
|---|---|
| default | 自定义内容;需在 layout 中声明 slot |