共计 828 个字符,预计需要花费 3 分钟才能阅读完成。
最近在个新项目里开发 CMS 端,vue 技术栈和 antd 的 UI 框架
表格 table 使用链接:antd 的 table
分页 pagination 使用链接:antd 的 pagination
表格单独使用时,自带简单分页,只包含 上一页, 页面码, 下一页, 例如:
但是有时候产品和甲方的需求很奇葩,非得可选的 pageSize,显示总数等功能,文档里有时候也阐述不全,甚至不对,关键时候还要靠自己动动脑子,看代码:
//template 部分
<a-table :pagination="pagination"
:rowSelection="rowSelection"
:columns="columns"
:dataSource="dataList"
@change="TableChange"
rowKey="id"
>
data(){
return{
pagination:{
defaultPageSize:5,
showTotal: total => ` 共 ${total} 条数据 `,
showSizeChanger:true,
pageSizeOptions: ['5', '10', '15', '20'],
onShowSizeChange:(current, pageSize)=>this.pageSize = pageSize
}
}
},
defaultPageSize 设置默认一页 table 里多少个条目
showTotal 用于显示数据总量和当前数据顺序
showSizeChanger:true 是否可以改变 pageSize,这个很重要一定要加上,很多网上的教程里都没写
pageSizeOptions 以 arr 形式设置每页可以展示多少条的选项
onShowSizeChange:()=>{} 点击切换每页可以展示多少条的下拉框,会触发这个方法, 可以理解为监听“xx 条 / 页”下拉框的方法,网上很多文章都是用 showSizeChange,实践证明并不能用,文档上也没写明“onShowSizeChange”这个方式,所以在这要跟大家强调一下。
正文完