ant-design-vue Table组件和分页组件的自定义

最近在个新项目里开发CMS端,vue技术栈和antd的UI框架
表格table使用连接:antd的table
分页pagination使用连接:antd的paginationvue

表格单独使用时,自带简单分页,只包含 上一页, 页面码, 下一页,例如:antd

clipboard.png
可是有时候产品和甲方的需求很奇葩,非得可选的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
            }
        }
    },

clipboard.png

clipboard.png

defaultPageSize 设置默认一页table里多少个条目this

showTotal 用于显示数据总量和当前数据顺序spa

showSizeChanger:true 是否能够改变 pageSize,这个很重要必定要加上,不少网上的教程里都没写code

pageSizeOptions 以arr形式设置每页能够展现多少条的选项component

onShowSizeChange:()=>{} 点击切换每页能够展现多少条的下拉框,会触发这个方法,能够理解为监听“xx条/页”下拉框的方法,网上不少文章都是用showSizeChange,实践证实并不能用,文档上也没写明“onShowSizeChange”这个方式,因此在这要跟你们强调一下。blog