el-table+selet+pagination回显触发selection-change事件,打印的数组出现数据重复问题

16 篇文章 0 订阅
7 篇文章 0 订阅

目录

一、应用场景

二、问题描述

三、原因分析*

四、解决办法


一、应用场景

1】vue项目

2】el-conversation组件

3】使用el-table组件

4】使用type="select"属性

5】使用selection-change事件

 6】使用toggleRowSelection方法

 7】混合使用el-pagination组件

二、问题描述

1】换页获取回显数据数组,出现重复的数据:

      比如说,第一页换到第二页,获取了第一页勾选(回显)的数据和第二页的回显数据,再回到第一页,第一页勾选的数据数据会再一次被存进val数组中导致数据重复

三、原因分析*

      this.$refs.multipleTable.toggleRowSelection(row);我们知道会帮助我们勾选从后端获取的数组的数据对应行的复选框;

      但是,在实际应用过程中,如果前一次被勾选的数据没有清掉,然后再使用this.$refs.multipleTable.toggleRowSelection(row)进行新一轮地勾选,会出现重复勾选和追加勾选问题,导致留了前一次的勾选痕迹(一般出现再第一页)。

      this.$refs.multipleTable.clearSelection();会帮助我们清除所有勾选的状态,但是handleSelectionChange(val) { console.log(val) }中的val数组中的数据没有被清除,再调用this.$refs.multipleTable.toggleRowSelection(row)的时候会出现数据重复写进val的情况

四、解决办法

1】(设想,未实践)用路由的el-table组件,再获取回显数组(因为换页可以清空复选框的勾选数据)

2】用handleSelectionChange(val) { console.log(val) }方法获取回显的val数组的时候,使用

new Set(array1)等方法去重 

     

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值