antd vue3的使用 a-table的pagination

之前一直用的公共PAGINATION:发现total的总条数根本不显示

于是我上网百度了别人的方法,必须要在里面加上change事件,vue3的写法,可以在change事件中调用加载表格数据的方法,进行切换数据

   const pagination = reactive({ // 表格分页的配置
            current: 1,
            pageSize: 10,
            showSizeChanger: true, // 用于控制展示每页多少条的下拉
            showQuickJumper:true,
            total: 0,
            pageSizeOptions: ["10", "20", "50"],
            showTotal: (total) => `共 ${total} 条`,
            onShowSizeChange: pageSizeChange,
            onChange: pageChange,
        });
       
        // 页数改变的方法
 
        function pageSizeChange(val, pageNum){
            pagination.pageSize = pageNum; // 修改每页显示的条数
            pagination.current = 1;
        }
        // 点击上一页下一页的方法
        function pageChange(page, val){
            console.log(page, val);
            pagination.current = page;
        }

 这样就成功的显示出来了分页组件

Ant Design 是一个非常流行的 UI 框架,它提供了很多实用的组件,包括 Table 表格组件。在 Vue 项目中使用 Ant Design 的 Table 组件时,可以考虑封装一个通用的 Table 组件,方便在不同的页面中复用。 下面是一个简单的 Ant Design Vue Table 封装: ```vue <template> <a-table :columns="columns" :dataSource="dataSource"> <a-pagination :total="total" :current="current" :pageSize="pageSize" @change="handlePageChange" /> </a-table> </template> <script> import { Table, Pagination } from 'ant-design-vue'; export default { name: 'AntdTable', components: { Table, Pagination }, props: { columns: { type: Array, required: true, }, dataSource: { type: Array, required: true, }, total: { type: Number, required: true, }, current: { type: Number, required: true, }, pageSize: { type: Number, required: true, }, }, methods: { handlePageChange(pageNumber) { this.$emit('page-change', pageNumber); }, }, }; </script> ``` 在这个组件中,我们使用了 Ant Design Vue 提供的 TablePagination 组件。组件接受了五个 props:columns、dataSource、total、current 和 pageSize,分别对应 Table 组件和 Pagination 组件的属性。在 handlePageChange 方法中,我们触发了一个自定义事件 page-change,这个事件可以在父组件中监听并处理分页请求。 使用这个组件时,只需要传入相应的 props 即可: ```vue <template> <div> <AntdTable :columns="columns" :dataSource="dataSource" :total="total" :current="current" :pageSize="pageSize" @page-change="handlePageChange" /> </div> </template> <script> import AntdTable from '@/components/AntdTable'; export default { components: { AntdTable }, data() { return { columns: [...], dataSource: [...], total: 100, current: 1, pageSize: 10, }; }, methods: { handlePageChange(pageNumber) { console.log('Page changed:', pageNumber); }, }, }; </script> ``` 这样,我们就完成了一个简单的 Ant Design Vue Table 封装。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值