vue 選中列表去重


前兩天遇到一個問題,不過后來解決啦,在這里跟大家分享一下,話不多說,上案例(基於vue + element)~~~

需求:點擊上方表格中的全選/選擇,選中數據會顯示在下方表格中;

問題:會有重復顯示數據

解決辦法:

  點擊全選:會有重復數據所以我們要先去重,

          es6中有個去重方法:

          

 this.checkedDataList = Array.from(new Set(this.checkedDataList));

  

          因為上方表格是有分頁功能的,所以這個方法可能不是很友好(具體場景:在第一頁點擊全選,再跳第二頁點擊全選,再回到第一頁,數據就重復了);

          然后我又換了一種方法:

 

const newArr = [];
this.checkedDataList.map((item) => newArr.findIndex(({
 id
}) => id === item.id) === -1 && newArr.push(item));
      this.checkedDataList = newArr;

         

         這個方法是我在網上找到的(如有侵犯請聯系),就完美的解決了我的問題,不管分頁如何跳轉,下方數據始終不會重復。

   點擊選擇:也會有重復數據的

          這個就比較簡單了,直接循環,看選中的數據中有沒有一模一樣的數據好啦,如果有的話就直接提示已經選擇此條數據啦!

      

 


免責聲明!

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



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