首页 > 其他分享 >el-table多选分页回显

el-table多选分页回显

时间:2024-06-20 14:02:14浏览次数:24  
标签:el rows 回显 item 全选 table brmOrderId selectedList row

el-table多选分页回显

1.多选项添加 :reserve-selection="true"
<el-table-column 
    type="selection" 
    align="center" 
    width="55" 
    :reserve-selection="true"
></el-table-column>

reserve-selection : 仅对 type=selection 的列有效,类型为 Boolean,为 true 则会在数据更新之后保留之前选中的数据(需指定 row-key

2.设置参数记录已选项selectedList
3.设置el-table的selection-change事件:取消或者选择就会触发该事件
需要考虑:
  1. 在某一页时,第一次选择一项,第二次全选当页,已选项中已存在的某一项不再添加
  2. 先选择一项时,再全选,在取消全选,要删除取消已选项

**注意:**因为做了分页,对于全选和取消全选,都是本页数据的全选,

   //这里的brmOrderId就是row-key,要确保其唯一性
   //tableDataList 表示本页的数据
	handleSelectionChange(rows) {
      // 不存在就添加进去
      rows.forEach(row => {
        if (!this.selectedList.some(item => item.brmOrderId === row.brmOrderId)) {
          this.selectedList.push(row)
        }
      });
      // list是此页中未选项,对于那些选择,再取消的项,需要在selectedList中删除
      const list = []
      this.tableDataList.forEach(item => {
        if (!rows.some(row => row.brmOrderId === item.brmOrderId)) {
          list.push(item)
        }
      });
      list.forEach(item => {
        const index = this.selectedList.findIndex(selectIndex => selectIndex.brmOrderId === item.brmOrderId)
        if (index !== -1) {
          this.selectedList.splice(index, 1)
        }
      })
    },
4.选项回显

**场景:**在第一页中选择了一项,切换到第二页全选,再切换为第一页,要勾选第一页的已选项

**实现:**在获取当前页面数据的时候,与selectedList中的数据对比,如果有已选项,就勾选

代码:

    // rows是selectedList; tableDataList当前页接口返回的数据
	toggleSelection(rows) {
      this.$nextTick(() => {
        setTimeout(() => {
          if (rows && this.tableDataList.length !== 0) {
            this.tableDataList.forEach((dataItem) => {
              rows.forEach(item => {
                if (item.brmOrderId === dataItem.brmOrderId) {
                  // toggleRowSelection是勾选 表中符合要求的选项
                  this.$refs.projectTables.toggleRowSelection(dataItem, true)
                }
              })
            })
          } else {
            // 清空用户的选择
            this.$refs.projectTables.clearSelection();
          }
        }, 0);
      });
    }

标签:el,rows,回显,item,全选,table,brmOrderId,selectedList,row
From: https://blog.csdn.net/qq_45903688/article/details/139830740

相关文章

  • Stable Diffusion【应用篇】【艺术写真】:一个让影楼倒闭的SD插件,使用InstantID插件一
    大家好,我是AIGC阿道夫。最近收到不少网友关于AI写真方面的留言,希望能写一些关于AI写真方面的文章。个人关注AI写真有一段时间了,网上也看到了不少写的文章教程和案例,作为一个AI绘画的狂热爱好者,自然也少不了去操作实践一下,关于AI写真,后面我会作为专题来写一系列的文章,把自己......
  • 安装elastic-view
    1.基于二进制包部署ElasticView1、下载并解压#下载wgethttps://github.com/1340691923/ElasticView/releases/download/v1.8.7/ElasticViewLinux.zip#解压mkdir-p/opt/ElasticViewunzip/usr/local/src/ElasticViewLinux.zip-d/opt/ElasticViewmv/opt/ElasticVi......
  • 【楔子】单细胞测序-最佳的分析Pipeline
    作者:starlitnightly日期:2023.07.14!!!note楔子从事单细胞分析也有一段时间了,国内大部分中文教程都是使用R语言进行分析,使用Python的还比较少,或者是直译scanpy的教程,不过scanpy可能已经比较旧了。在这里,我们参考了Singlecellbestpractice,希望能给国内的从业者带来一个完......
  • 养猪大户必备!教你用ModelBox开发一个AI数猪应用
    本文分享自华为云社区《ModelBox-视频应用开发:AI智能数猪【玩转华为云】》,作者:阳光大猫。一、准备环境ModelBox端云协同AI开发套件(Windows)环境准备【ModelArts+ModelBox端云协同AI应用开发实训课程】二、应用开发1.创建工程在ModelBox sdk目录下使用create.bat创建yolov7......
  • 管理 MySQL Shell 配置选项
    与任何工具一样,MySQLShell的开箱即用配置可能无法满足每个用户在任何情况下的需求。我们需要一种方法来轻松查看、更新和持续(如有必要)更改默认配置。有一条命令可以帮助我们管理MySQLShell配置。这条命令就是\option。 查看帮助MySQLlocalhostJS>\optionNAME......
  • Windows下 Modelsim10.7下载安装及破解
    下载链接: 【免费】EDA工具,modelsim资源-CSDN文库https://download.csdn.net/download/mojixin123/89452381?spm=1001.2014.3001.5501安装及破解步骤:1、解压后打开安装包,点击exe文件右键以管理员身份运行2、出现以下界面点击下一步 3、选择安装路径,尽量不要放在c盘,然后......
  • shell运算符
    熟练掌握以上运算符能够自如的应对linux日常shell脚本需求。数值运算符只能用在数字上,不能用在其它数据类型上算数运算符基本就是常见的数学用到的计算:+、-、*、/、%需要注意的是默认情况下,shell不会直接进行算术运算,而是把"算术符号"当做"字符串"与两个变量的值连接在......
  • mellanox&nvidia ib高速网络优化及常见问题FAQ
    一、Infinibandvs以太网区别Ethernet和InfiniBand是特点鲜明的两种不同的互连技术,各有所长,都有自己的适用场景。Ethernet主要是为了实现万物互联。Infiniband主要表现在带宽、时延、网络可靠性、和组网方式上。在高性能计算场景中,数据传输很容易成为瓶颈,为了解决高带宽、低......
  • 203. Remove Linked List Elements
    Giventheheadofalinkedlistandanintegerval,removeallthenodesofthelinkedlistthathasNode.val==val,andreturnthenewhead.Example1:Input:head=[1,2,6,3,4,5,6],val=6Output:[1,2,3,4,5]Example2:Input:head=[],val=......
  • 9.华为交换机telnet远程管理配置aaa认证
    目的:telnet远程管理设备LSW1配置[Huawei]intVlanif1[Huawei-Vlanif1]ipadd1.1.1.124[Huawei-Vlanif1]q[Huawei]user-interfacevty04[Huawei-ui-vty0-4]authentication-modeaaa[Huawei-ui-vty0-4]q[Huawei]aaa[Huawei-aaa]local-useradminpasswordciph......