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了,不過最后沒有找出非常優秀的解決方法。

此時呢,就只能使用以下方法來解決這個問題了。

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);
        }
     });
 });

特此在此記錄一下!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM