ant design of vue分页/layui实现分页

本文介绍了如何使用Ant Design Vue和Layui两种框架实现分页功能。对于Ant Design Vue,详细引用了官方文档并提供了相关代码;而对于Layui,同样给出了官方文档链接和对应的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ant design of vue分页

官方文档:https://www.antdv.com/components/pagination-cn/

结果:

在这里插入图片描述

代码:

 <a-pagination
                  v-if="testData != undefined && testData.length > 0"
                  show-quick-jumper
                  :default-current="this.q.pi"
                  :defaultPageSize="this.q.ps"
                  :total="this.total"
                  @change="onChange"
                />
                
import axios from "axios";

data() {
    return {
      total: 0, //数据总数
      testData: [],
      //参数
      q: {
        pi: 1,
        ps: 10
      },
    };
  },
   mounted() {
    this.loads();
  },
methods: {
    loads () {
      axios
        .get(接口, this.q)
        .then((r) => {
          this.testData = r.data.Result.Data;
          this.total = r.data.Result.total;
        })
        .catch((err) => {
          console.log(err);
        });
    },
    onChange(pageNumber) {
      //分页
      this.q.pi = pageNumber;
      this.loads();
    }

layui实现分页

官方文档 https://www.layui.com/doc/modules/laypage.html

结果:
在这里插入图片描述
代码:

 <div id="page3" class="justify-content-center"></div>

import axios from "axios";

data() {
    return {
      total: 0, //数据总数
      testData: [],
      q: {
        pi: 1,
        ps: 10,
      },
    };
  },
  methods: {
    loads: function () {
      axios
        .get(接口, this.q)
        .then((r) => {
          this.testData =r.data.Result.Data;
          this.total = r.data.Result.total;
          this.layFun();
        })
        .catch((err) => {
          console.log(err);
        });
    },
    layFun() {
      var This = this;
      layui.use(["laypage"], function () {
        var laypage = layui.laypage;
        laypage.render({
          elem: "page3",
          limit: This.q.ps,
          count: This.total, //数据总数,从服务端得到
          layout: ["prev", "page", "next", "skip"],
          jump: function (obj, first) {
            if (!first) {
              This.q.pi = obj.curr;
             axios
                .get(上个接口, This.q)
                .then((r) => {
                  if (r.Success) {
                    This.testData = r.data.Result.Data;
                    This.total = r.data.Result.total;
                  } else {
                    this.$message.error(r.Msg || "获取数据失败,未知错误");
                  }
                })
                .catch((err) => {
                  console.log(err);
                });
            }
          },
        });
      });
    },
    }
    
Ant Design of Vue 是一套基于 Vue.js 的 UI 组件库,其中包含了丰富的组件,包括表格组件。下面是一个带分页多选功能的 Ant Design of Vue 表格示例: ```html <template> <a-table :columns="columns" :data-source="dataSource" :pagination="pagination" row-selection="rowSelection" @change="handleTableChange"> </a-table> </template> <script> export default { data() { return { columns: [ { title: '姓名', dataIndex: 'name' }, { title: '年龄', dataIndex: 'age' }, { title: '地址', dataIndex: 'address' } ], dataSource: [], // 表格数据 pagination: { // 分页配置 current: 1, // 当前页码 pageSize: 10, // 每页显示条数 total: 0 // 数据总条数 }, rowSelection: { // 多选配置 selectedRowKeys: [], onChange: this.handleRowSelectionChange } } }, methods: { // 处理表格变化事件 handleTableChange(pagination) { this.pagination = pagination this.fetchData() }, // 处理多选变化事件 handleRowSelectionChange(selectedRowKeys) { this.rowSelection.selectedRowKeys = selectedRowKeys }, // 获取表格数据 fetchData() { // 发送异步请求获取数据 // ... // 设置表格数据分页信息 this.dataSource = [] this.pagination.total = 100 } }, mounted() { // 初始化数据 this.fetchData() } } </script> ``` 在上面的代码中,`columns` 数组定义了表格的列信息,`dataSource` 数组存储了表格的数据,`pagination` 对象定义了分页信息,`rowSelection` 对象定义了多选配置。在 `a-table` 组件中,我们将这些配置传递给了组件,并设置了相应的事件回调函数。在 `handleTableChange` 方法中,我们处理了分页变化事件,在 `handleRowSelectionChange` 方法中,我们处理了多选变化事件。`fetchData` 方法用于获取表格数据,我们可以在其中发送异步请求获取数据,并设置表格数据分页信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值