element-ui - element ui 表格多选问题: 如何判断当前行是打钩还是取消打钩状态?
本文介绍了element-ui - element ui 表格多选问题: 如何判断当前行是打钩还是取消打钩状态?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
1.问题如题
2.我之前是监听文档中的selection-change
事件,这个事件会在选项发生变化时触发。但是现在需要在选中状态时设置参数,但是没有办法知道当前行是选中状态还是取消选中状态(因为这两种状态都会触发这个事件)。所以应该如何判断当前行是否选中呢?
解决方案
你不是一个人,之前我也有这个需求。看看有没有帮助。
copyChooseTchIds
为data定义的存放保存选中的行。
selectChange(val, row){
/* 1 => add ; 0 => remove*/
let flag = 0;
for(let i in val){
if(row.id === val[i].id){
flag = 1
break;
}
}
if(flag === 1){
this.copyChooseTchIds.push(row);
}
else{
for(let i in this.copyChooseTchIds){
if(this.copyChooseTchIds[i].id == row.id)
this.copyChooseTchIds.splice(i, 1);
}
}
},
selectAll(val){
var v = this;
//remove
if(val.length == 0){
for(let i in v.tableData){
for(let j in v.copyChooseTchIds){
if(v.copyChooseTchIds[j].id === v.tableData[i].id){
v.copyChooseTchIds.splice(j, 1);
break;
}
}
}
}
if(v.copyChooseTchIds.length == 0){
for(let i in val){
v.copyChooseTchIds.push(val[i]);
}
}
else{
for(let i in val){
let flag = false;
for(let j in v.copyChooseTchIds){
if(v.copyChooseTchIds[j].id === val[i].id){
flag = true;
break;
}
}
if(!flag)
v.copyChooseTchIds.push(val[i]);
}
}
},
监听的这俩。
这篇关于element-ui - element ui 表格多选问题: 如何判断当前行是打钩还是取消打钩状态?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文