分页
当数据量过多时,使用分页分解数据。
基础用法
使用 layout
属性,其值由用逗号分隔的不同的分页组件组成。分页组件有:prev
(一个跳转到上一页的按钮),next
(一个跳转到下一页的按钮),pager
(页码列表),jumper
(一个跳页输入框),total
(总项目数),sizes
(一个决定页面大小的选择器) 以及 ->
(在此符号之后的所有元素都将被推到右边)。
页码按钮数量
默认情况下,当总页数超过 7 页时,Pagination 会折叠多余的页码按钮。 这可以通过 pager-count
属性进行配置。
带背景色的按钮
设置 background
属性,按钮将拥有一个背景色。
小型分页
在空间有限的情况下使用小型分页。
设置 size 来改变 size
。 这里是 small
的演示
当只有一页时隐藏分页
当只有一页时,通过设置 hide-on-single-page
属性来隐藏分页。
更多模块
根据您的场景添加更多模块。
此示例是完整的用例。 它使用 size-change
和 current-change
事件来处理页面大小更改和当前页面更改。 page-sizes
接受一个整数数组,其中每个整数都表示 sizes
下拉框中的一个选项,例如 [100, 200, 300, 400]
表示下拉框将有四个选项:100, 200, 300 或 400 条每页。
API
属性
名称 | 描述 | 类型 | 默认值 |
---|---|---|---|
size 2.7.6 | 分页大小 | 枚举 | 'default' |
背景 | 按钮是否有背景色 | 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 | 每页项目数的选项 | object | [10, 20, 30, 40, 50, 100] |
append-size-to 2.8.4 | 尺寸下拉菜单要附加到哪个元素 | string | — |
popper-class | 每页条数选择器下拉菜单的自定义类名 | string | '' |
prev-text | 上一页按钮的文字 | string | '' |
prev-icon | 上一页按钮的图标,优先级低于 prev-text | string / Component | ArrowLeft |
next-text | 下一页按钮的文字 | string | '' |
next-icon | 下一页按钮的图标,优先级低于 next-text | string / Component | ArrowRight |
disabled | 分页是否被禁用 | boolean | false |
teleported 2.3.13 | 分页选择器下拉菜单是否被传送至 body | boolean | true |
hide-on-single-page | 当只有一页时是否隐藏 | boolean | false |
small 已废弃 | 是否使用小型分页 | boolean | false |
警告
我们会检测一些已废弃的用法,如果您的分页没有出现或没有按预期工作,请检查以下规则
- 您必须定义
total
和page-count
中的一个,否则我们无法确定总页数。当两者都定义时,page-count
优先。 - 如果定义了
current-page
,您必须监听current-page
的变化,同时定义@update:current-page
,否则分页将不起作用。 - 如果定义了
page-size
且页面大小选择器已显示(layout
中包含sizes
),您也必须监听page-size
的变化,通过定义@update:page-size
,否则页面大小的更改将不起作用。
事件
名称 | 描述 | 类型 |
---|---|---|
size-change | 当 page-size 改变时触发 | Function |
current-change | 当 current-page 改变时触发 | Function |
change 2.4.4 | 当 current-page 或 page-size 改变时触发 | Function |
prev-click | 当点击上一个按钮且当前页面改变时触发 | Function |
next-click | 当点击下一个按钮且当前页面改变时触发 | Function |
警告
不建议使用上述事件(但出于兼容性原因仍然支持),更好的选择是使用 v-model
的双向数据绑定。
插槽
名称 | 描述 |
---|---|
default | 自定义内容。要使用此功能,您需要在 layout 中声明 slot |