Vue + Element table的@select方法获取当table中的id值都相同时,获取他们索引

先说下问题情况,原本通过双重forEach方法方法,遍历可以获取到被勾选中的索引。

let arr = []
val.forEach((val, index) => {   this.TableData.forEach((v,i) => {     if(val.id === v.id ) {       arr.push(i);     }   }); });

不过因为需求原因 我的表中的 id 都是相同的,用以上方法,最后打印出被选中的索引集合会有重复情况。因此就需要改变思路拿到他们的索引index了,此时就使用dao以下方法了。

let arr = [];
val.forEach((val, index) => {
  // ...(需要优化,当id有相同的时候,索引会出现id相同的所有索引。)
  // ...(通过val属性下的__ob__.dep.id的不同来解决索引会重复的问题。)
  this.rightTableData.forEach((v,i) => {
    if(val.__ob__.dep.id === v.__ob__.dep.id ) {
          arr.push(i);
        }
     });
 });

 

posted on 2020-06-11 21:31  _xinT  阅读(1755)  评论(0编辑  收藏  举报