返回顶部
首页 > 资讯 > 前端开发 > html >如何实现element ui分页多选和翻页记忆
  • 111
分享到

如何实现element ui分页多选和翻页记忆

2024-04-02 19:04:59 111人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关如何实现element ui分页多选和翻页记忆,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先说需求:实时记录当前选中的分页中的列表,分页保存

这篇文章将为大家详细讲解有关如何实现element ui分页多选和翻页记忆,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

先说需求:实时记录当前选中的分页中的列表,分页保存数据,然后在用选中的数据进行某些操作;PS:左下角的数字为记录的当前选中的列表的和

如何实现element ui分页多选和翻页记忆

直接上可用的代码,前提已配置好各种环境

HTML部分

<!--table组件需要使用ref="table"-->
<template>
 <div>
 <el-table :data="tableData" ref="table" stripe  @selection-change="handleSelectionChange">
  <el-table-column type="selection" width="55"></el-table-column>
  <el-table-column prop="name" label="商品名称"></el-table-column>
  <el-table-column prop="barcode" label="商品编码"></el-table-column>
  <el-table-column prop="quantity" label="区域总库存"></el-table-column>
 </el-table>
 <div class="block" v-show="page.pageTotal>10">
  <el-pagination @current-change="handleCurrentChange" :current-page.sync="page.currentPage" :page-size="page.pnum" layout="total, prev, pager, next , jumper" :total="page.pageTotal">
  </el-pagination>
 </div>
 <div>
  {{multipleSelectionAll.length}}
 </div>
 </div>
</template>

JS部分

export default {
 data(){
  return {
  tableData: [], // 表格数据 
  multipleSelectionAll:[],//所有选中的数据包含跨页数据
  multipleSelection:[],// 当前页选中的数据
  idKey: 'barcode', // 标识列表数据中每一行的唯一键的名称
  page:{
   //每页数据量
   pnum:10,
   //数据总数
   pageTotal:0,
   //当前页,从1开始
   currentPage:1,
  }
  }
 },
 methods: {
  handleCurrentChange(){
  this.changePageCoreRecordData();
  if(!this.$isNull(this.page.pageTotal)) this.getGoodsList();
  },
  handleSelectionChange (val) {
  this.multipleSelection = val;
  //实时记录选中的数据
  setTimeout(()=>{
   this.changePageCoreRecordData();
  }, 50)
  },
  setSelectRow() {
  if (!this.multipleSelectionAll || this.multipleSelectionAll.length <= 0) {
   return;
  }
  // 标识当前行的唯一键的名称
  let idKey = this.idKey;
  let selectAllIds = [];
  let that = this;
  this.multipleSelectionAll.forEach(row=>{
   selectAllIds.push(row[idKey]);
  })
  this.$refs.table.clearSelection();
  for(var i = 0; i < this.tableData.length; i++) {   
   if (selectAllIds.indexOf(this.tableData[i][idKey]) >= 0) {
   // 设置选中,记住table组件需要使用ref="table"
   this.$refs.table.toggleRowSelection(this.tableData[i], true);
   }
  }
  },
  // 记忆选择核心方法
  changePageCoreRecordData () {
  // 标识当前行的唯一键的名称
  let idKey = this.idKey;
  let that = this;
  // 如果总记忆中还没有选择的数据,那么就直接取当前页选中的数据,不需要后面一系列计算
  if (this.multipleSelectionAll.length <= 0) {
   this.multipleSelectionAll = this.multipleSelection;
   return;
  }
  // 总选择里面的key集合
  let selectAllIds = [];
  this.multipleSelectionAll.forEach(row=>{
   selectAllIds.push(row[idKey]);
  })
  let selectIds = []
  // 获取当前页选中的id
  this.multipleSelection.forEach(row=>{
   selectIds.push(row[idKey]);
   // 如果总选择里面不包含当前页选中的数据,那么就加入到总选择集合里
   if (selectAllIds.indexOf(row[idKey]) < 0) {
   that.multipleSelectionAll.push(row);
   }
  })
  let noSelectIds = [];
  // 得到当前页没有选中的id
  this.tableData.forEach(row=>{
   if (selectIds.indexOf(row[idKey]) < 0) {
   noSelectIds.push(row[idKey]);
   }
  })
  noSelectIds.forEach(id=>{
   if (selectAllIds.indexOf(id) >= 0) {
   for(let i = 0; i< that.multipleSelectionAll.length; i ++) {
    if (that.multipleSelectionAll[i][idKey] == id) {
    // 如果总选择中有未被选中的,那么就删除这条
    that.multipleSelectionAll.splice(i, 1);
    break;
    }
   }
   }
  })
  },
  //请求接口部分
  getGoodsList(){
  let data = {};
  data['page'] = this.page.currentPage;
  data['pnum'] = this.page.pnum;
  this.$ajax({
   url:'goods/list',
   data:data
  }).then(val => {
   this.tableData = val.data.rows ? val.data.rows : [];
   this.page = {
   pnum:10,
   pageTotal:val.data.total,
   currentPage:val.data.page,
   };
   setTimeout(()=>{
   this.setSelectRow();
   }, 50)
  })
  }
 },
 created () {
  this.getGoodsList()
 }
 }

关于“如何实现element ui分页多选和翻页记忆”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 如何实现element ui分页多选和翻页记忆

本文链接: https://lsjlt.com/news/74772.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何实现element ui分页多选和翻页记忆
    这篇文章将为大家详细讲解有关如何实现element ui分页多选和翻页记忆,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先说需求:实时记录当前选中的分页中的列表,分页保存...
    99+
    2024-04-02
  • element如何实现table跨分页多选及回显
    小编给大家分享一下element如何实现table跨分页多选及回显,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!data中定义getRowKeys,记录每行的key值getRowKeys(row) { ...
    99+
    2023-06-29
  • Vue+Element UI+Lumen如何实现通用表格分页功能
    这篇文章主要为大家展示了“Vue+Element UI+Lumen如何实现通用表格分页功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue+Element ...
    99+
    2024-04-02
  • vue实现弹窗翻页多选效果
    本文实例为大家分享了vue实现弹窗翻页多选效果的具体代码,供大家参考,具体内容如下 最终效果 点选择按钮后,弹出选择用户弹窗,可翻页勾多个用户  完整代码 <te...
    99+
    2024-04-02
  • Django如何实现翻页
    这篇文章主要介绍了Django如何实现翻页,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Django提供了翻页器。用Django的Paginator类实现一、views模块导...
    99+
    2023-06-15
  • php如何实现翻页
    这篇文章主要讲解了“php如何实现翻页”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何实现翻页”吧!php实现翻页的方法:1、查询所有符合条件需要进行分页的总数据,计算展示的总页数;...
    99+
    2023-06-25
  • 如何使用html5实现记忆翻牌游戏
    这篇文章主要为大家展示了“如何使用html5实现记忆翻牌游戏”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用html5实现记忆翻牌游戏”这篇文章吧。 &...
    99+
    2024-04-02
  • layui中如何实现表格分页和记录勾选
    这篇文章主要介绍了layui中如何实现表格分页和记录勾选,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。layui 分页之后没有记录之前勾选项...
    99+
    2024-04-02
  • Vue使用Element-UI实现分页效果全过程
    目录前言技术选项:Pagination增加分页代码初始化数据回调函数指定table分页查看效果总结前言 分页在展示数据列表的场景肯定是非常多的。 一般的项目开发中,数据量特别大,一般...
    99+
    2023-05-18
    element-ui实现分页 elementui分页查询 elementui 分页
  • vue基于el-table怎么实现多页多选及翻页回显
    这篇“vue基于el-table怎么实现多页多选及翻页回显”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue基于el-ta...
    99+
    2023-07-04
  • vue如何基于element-ui分页组件封装
    这篇文章主要为大家展示了“vue如何基于element-ui分页组件封装”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何基于element-ui分页组件...
    99+
    2024-04-02
  • 如何使用Angular+Angular-Ui实现分页
    这篇文章主要介绍如何使用Angular+Angular-Ui实现分页,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先看效果:采用了Angular-UI中的分页组件,关于Angular...
    99+
    2024-04-02
  • 如何实现React翻页器
    这篇文章主要为大家展示了“如何实现React翻页器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现React翻页器”这篇文章吧。前端首先需要熟悉前端react中table中的属性pagin...
    99+
    2023-06-20
  • 利用Vue模拟实现element-ui的分页器效果
    目录1. 思路1.1客户端1.2服务器2.服务器2.1创建数据2.2创建接口3.客户端3.1创建静态页面3.2请求数据3.3解析逻辑4.总结1. 思路 1.1客户端 利用vue相关的...
    99+
    2022-11-13
    Vue element-ui分页器 Vue element-ui分页 Vue element-ui
  • php如何实现记录分页
    这篇文章将为大家详细讲解有关php如何实现记录分页,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php实现记录分页的思路:1、获取结果集中的记录数;2、设置每页显示记录的数量;3、获取总页面数量;4、控制...
    99+
    2023-06-22
  • Android如何使用viewPager2实现UI界面翻页滚动效果
    小编给大家分享一下Android如何使用viewPager2实现UI界面翻页滚动效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.先在build.gradle...
    99+
    2023-06-15
  • ajax如何实现分页和分页查询
    这篇文章将为大家详细讲解有关ajax如何实现分页和分页查询,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先为了页面的整齐与美观,我用到了bootstrap,需要引进所需要的文件包<link&nbs...
    99+
    2023-06-08
  • oracle如何实现清屏翻页
    这篇文章主要介绍oracle如何实现清屏翻页,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在oracle数据库刚安装好时,输入命令时不能跟mysql数据库一样,清除屏幕上执行过的命令...
    99+
    2024-04-02
  • Bootstrap如何实现翻页效果
    这篇文章主要介绍Bootstrap如何实现翻页效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果图最后一页时:最开始一页时:实现①、翻页组件的布局<%@ page...
    99+
    2024-04-02
  • react.js如何实现翻页插件
    小编给大家分享一下react.js如何实现翻页插件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体代码如下所示: v...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作