html表格 取消选中,element ui ----table表格(带多选框)+分页实现分页选中和分页取消选中...

大概的需求是,把A表格里面选中的数据,赋值到B表格中,当B表格移除某条数据时,A表格中对应的那条数据也应该取消选中。

ea7de7de7b95

image.png

ea7de7de7b95

image.png

首先遇到的问题是,切换到第二页以后导致第一页选中的数据取消了,解决方法,官方文档有提到,上代码

ea7de7de7b95

image.png

ea7de7de7b95

image.png

row.supplierguid 是唯一标识,什么id,key等。

再然后遇到的问题就是A表格移除某一项数据以后,B还是选中状态,解决方法如下

官网的最基础是这样

ea7de7de7b95

image.png

但是因为我不在同一个表格里,所以我得去找对应的index

delSupplier(index,supplierguid,suppliername) {

this.InvitationData.splice(index, 1); //移除A表格里的某条数据

var sId=this.firstIndex(this.sipplierData,supplierguid) //找A表格与B表格对应的数据

if(sId!= -1){ //因为是分页的,所以跳转到第二页,页面第一页数据就清空了,如果第一页有选中的数据,那么就会找不到,就会报undefined错误,所以此处判断,如果有当前数据,那么进行取消选中

this.$refs.multipleTable.toggleRowSelection(this.sipplierData[sId],false);

}else{ //如果没有,通过查询当前数据,取index为0的就可。

this.SupplierList.supplierName=suppliername;

this.getSupplierList(this.SupplierList); //获取B表格的数据方法

setTimeout(() => { //

this.$refs.multipleTable.toggleRowSelection(this.sipplierData[0],false);

}, 50);

}

}

},

找数组里某条数据的index

firstIndex(arr, text) {

// 若元素不存在在数组中返回-1

let firstVal = -1;

for (let i = 0; i < arr.length; i++) {

// json (arr[i].id == text)

if (arr[i].supplierguid == text) {

firstVal = i;

return firstVal;

break;

}

}

return firstVal;

},

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值