element-ui使用Pagination 分页

当我们在使用分页时,虽然有源代码,但是使用的时候还是出错,所以简单总结一下怎么使用

 我们直接拿最全的功能来写代码

我们先看各个变量的解释

page-size每页显示条目个数,支持 .sync 修饰符
total总条目数

number

current-page当前页数,支持 .sync 修饰符

简单了解这三个已经足够了

<el-pagination
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="queryInfo.page"
        :page-size="queryInfo.pagesize"
        :page-sizes="[1, 2, 5, 10]"
        layout="total, sizes, prev, pager, next ,jumper"
        :total="total"
      >
      </el-pagination>
data() {
    return {
      lst: [],
      total: 0,
      //参数
      queryInfo: {
        query: "",
        // 当前页数
        page: 1,
        // 显示一页多少条数据
        pagesize: 2,
      },
    };
  },
fnGetData() {
    //第一次获取数据
      this.$axios
        .get("/ping/", { params: {pagesize:this.queryInfo.pagesize, page: this.queryInfo.page } })
        .then((res) => {
          console.log("所有评论", res);
          if (res.data.code == 200) {
            this.lst = res.data.data;
            this.total = res.data.total;
          }
        })
        .catch((err) => {
          return Promise.reject(err);
        });
    },
//每页的数据条数的需求,重新调用方法获取新的数据
    handleSizeChange(val) {
      console.log(`每页 ${val} 条`);
      this.queryInfo.pagesize = val;
      this.fnGetData();
    },
//识别到页数的变化,自动获取新的数据
    handleCurrentChange(val) {
      console.log(`当前页: ${val}`);
      this.queryInfo.page = val;
      this.fnGetData();
    },

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Element UI 的 Table 组件默认支持分页功能,如果你想实现在跨页情况下进行多选,可以结合其提供的`selection`属性和自定义事件处理。`selection`属性允许你在表格上设置单选或多选模式,你可以通过监听`@selection-change`事件来跟踪用户的选中状态,不论是在哪一页。 以下是实现步骤: 1. 在 Vue 中配置 `element-ui` 的 Table,设置 `selection` 为 `multiple` 或 `row-key` 来保证行级选择(如果你需要基于每个条目的唯一标识符进行多选): ```html <el-table :data="tableData" selection="multiple"> <!-- 表格列 --> </el-table> ``` 2. 在组件内获取和处理选择的数据: ```javascript export default { data() { return { tableData: [], // 假设这是你的数据源 selectedItems: [] // 存储选中的行 }; }, methods: { handleSelectionChange(val) { this.selectedItems = val; // 当用户切换选择时,更新selectedItems } }, watch: { $refs: { handler(newRef, oldRef) { if (newRef && newRef.$el) { newRef.$el.addEventListener('selection-change', this.handleSelectionChange); } else if (oldRef) { oldRef.$el.removeEventListener('selection-change', this.handleSelectionChange); } }, deep: true } } } ``` 3. 如果有分页,你需要额外处理每页的数据同步: ```javascript // 假设你有一个分页器 component,如 el-pagination this.pagination.currentPage.value = 1; // 刷新到第一页 this.getTableData(page => { // 获取当前页数据并更新表格及选择 // 更新selectedItems为你在新数据中的选择 }); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值