Ant Design Vue 之分页 a-pagination使用

分页效果

我们在使用分页使,直接用表格(<a-table>)的自定义:pagination属性最方便;如下图所示:

基于VUE,我们必须在data中定义paginationOpt对象,代码片段如下:

// 分页
      paginationOpt: {
        defaultCurrent: 1, // 默认当前页数
        defaultPageSize: 5, // 默认当前页显示数据的大小
        total: 0, // 总数,必须先有
        showSizeChanger: true,
        showQuickJumper: true,
        pageSizeOptions: ["5", "10", "15", "20"],
        showTotal: (total) => `共 ${total} 条`, // 显示总数
        onShowSizeChange: (current, pageSize) => {
          this.paginationOpt.defaultCurrent = 1;
          this.paginationOpt.defaultPageSize = pageSize;
          this.searchCameraFrom(); //显示列表的接口名称
        },
        // 改变每页数量时更新显示
        onChange: (current, size) => {
          this.paginationOpt.defaultCurrent = current;
          this.paginationOpt.defaultPageSize = size;
          this.searchCameraFrom();
        },
      },

调用接口时,一定要更新total值!!!!!并在发送请求前结构当前页和pagesize的值,否则一直时默认值1和5(我这边初始时1和5,可自己更改)

    // 摄像机查询
    searchCameraFrom() {
      console.log(this.cameraParams);
      const { defaultCurrent, defaultPageSize } = this.paginationOpt;

      this.$api.Camera.getCameraList({
        currPage: defaultCurrent,
        pageSize: defaultPageSize,
        info: this.cameraParams,
      })
        .then((res) => {
          if (res.code != "200") {
            return Promise.reject;
          }
          console.log(res);
          this.cameraList = res.data;
          this.paginationOpt.total = res.total;
        })
        .catch(() => {});
    },

  • 13
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
### 回答1: Ant Design Vue 是一个优秀的 Vue UI 组件库,它提供了强大的表格组件和分页组件,可以轻松实现表格分页功能。 要在 Ant Design Vue 表格中实现分页,你需要使用 `a-table` 组件和 `a-pagination` 组件。首先,你需要在 `a-table` 中设置 `pagination` 属性为一个对象,该对象包含当前页码、每页显示条目数、总条目数等分页相关的信息。然后,在 `a-pagination` 中设置 `current` 属性为当前页码,`total` 属性为总条目数,`page-size` 属性为每页显示条目数,`show-total` 属性为是否显示总条目数。 以下是一个示例代码: ```vue <template> <div> <a-table :columns="columns" :data-source="dataSource" :pagination="pagination"></a-table> <a-pagination :current="pagination.current" :total="pagination.total" :page-size="pagination.pageSize" :show-total="true"></a-pagination> </div> </template> <script> export default { data() { return { columns: [ { title: '姓名', dataIndex: 'name', key: 'name', }, { title: '年龄', dataIndex: 'age', key: 'age', }, { title: '地址', dataIndex: 'address', key: 'address', }, ], dataSource: [ { key: '1', name: 'John Brown', age: 32, address: 'New York No. 1 Lake Park', }, { key: '2', name: 'Jim Green', age: 42, address: 'London No. 1 Lake Park', }, { key: '3', name: 'Joe Black', age: 32, address: 'Sidney No. 1 Lake Park', }, // more data... ], pagination: { current: 1, pageSize: 10, total: 50, }, }; }, }; </script> ``` 上面的代码中,`columns` 定义了表格的列,`dataSource` 定义了表格的数据,`pagination` 定义了分页相关的信息。在 `a-table` 中使用了 `pagination` 属性,指定了分页信息,然后在 `a-pagination` 中使用了 `current`、`total`、`page-size` 和 `show-total` 属性,显示了分页组件。 ### 回答2: Ant Design Vue 是一个非常流行的 Vue 组件库,经常被用来开发 Web 应用的后台管理界面。其中,表格是经常被使用到的控件之一,而表格的分页功能又是很多人经常使用的功能。下面就来介绍如何在 Ant Design Vue 中实现表格分页。 首先,需要引入 `Table` 和 `Pagination` 这两个组件。具体引入方法可参考 Ant Design Vue 官方文档。 接着,在 `script` 标签中定义表格的数据和各列属性。如: ``` data() { return { tableData: [ {name: 'Tom', age: 18, address: 'Shanghai'}, {name: 'Lucy', age: 19, address: 'Beijing'}, {name: 'Jerry', age: 20, address: 'Guangzhou'}, {name: 'Bob', age: 21, address: 'Shenzhen'}, {name: 'Alice', age: 22, address: 'Chengdu'}, {name: 'Lisa', age: 23, address: 'Hangzhou'} ], columns: [ {title: 'Name', dataIndex: 'name'}, {title: 'Age', dataIndex: 'age'}, {title: 'Address', dataIndex: 'address'} ], currentPage: 1, pageSize: 3 } } ``` 其中,`tableData` 是表格的数据,`columns` 是各列的属性。`currentPage` 表示当前页数,`pageSize` 表示每页显示的数据条数。 然后,在 `template` 标签中添加表格和分页组件的代码。如: ``` <template> <div> <a-table :columns="columns" :data-source="tableData.slice((currentPage-1)*pageSize, currentPage*pageSize)" bordered row-key="id" :pagination="false"></a-table> <a-pagination :current="currentPage" :total="tableData.length" :page-size="pageSize" @change="changePage"></a-pagination> </div> </template> ``` 在表格组件中,利用 `slice` 方法截取当前页的数据进行显示。同时,通过 `pagination` 属性来控制是否展示默认的分页组件。在分页组件中,利用 `current` 属性来绑定当前页数,利用 `total` 属性来绑定数据总数,利用 `page-size` 属性来绑定每页显示的数据条数。最后,通过 `@change` 事件来响应分页组件的页码变化,从而更新表格的数据显示。 以上就是在 Ant Design Vue 中实现表格分页的步骤。需要注意的是,根据实际情况可以对表格和分页组件的样式进行自定义设置,以达到更好的用户体验。 ### 回答3: Ant Design Vue 是一个基于 Vue 的企业级 UI 组件库,它提供了丰富的组件和样式,可帮助我们快速高效地开发和构建优雅的网站和应用程序。其中,表格是使用最频繁的组件之一,在处理大量数据时,我们通常需要分页来控制显示数据的数量和提高用户体验。Ant Design Vue 表格分页就是为了解决这个问题而设计的。 Ant Design Vue 表格分页组件提供了以下几个重要的属性和方法: 1. current:当前页码,从1开始,默认值为1; 2. pageSize:每页显示的数据条数,默认值为10; 3. total:总数据条数; 4. showTotal:显示数据总条数的方法; 5. showSizeChanger:是否显示每页数据条数选择器; 6. showQuickJumper:是否显示快速跳转到某一页的输入框; 7. onChange:页码切换的回调函数,参数为当前页码和每页数据条数; 8. onShowSizeChange:每页数据条数切换的回调函数,参数为当前页码和每页数据条数。 表格分页使用方法如下: 1. 引入表格和分页组件:import { Table, Pagination } from 'ant-design-vue'; 2. 在模板中使用表格和分页组件:在 template 中使用 table 和 pagination 标签,设置相应的属性和方法即可。 3. 在 data 中定义数据和分页相关的状态:例如,定义 data 属性为 dataSource 和 pagination,其中 pagination 对象包含 current、pageSize 和 total 属性以及相应的方法。 需要注意的是,在分页组件中,pageSize 和 total 属性必须与表格组件中的数据和相应的属性相匹配,否则会导致页码不正确的问题。 Ant Design Vue 表格分页组件功能丰富,易于使用,为我们快速高效地构建数据表格和提供良好的用户体验提供了有效的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值