vue:怎么在mutations里面寫遞歸函數


------------恢復內容開始------------

我在使用elements-ui的時候,用到了<el-cascader>級聯選擇器,數據格式按要求是 value和lable,我用的是以前的接口,以前數據給的是id和name,不能修改數據參數,所以需要自己給重新組裝一下數據格式。

因為數據里面有幾層函數(不確定),所以最好的方法就是遞歸函數。

 

原始數據長這樣:里面有多層children

 

在mutations里面進行數據遞歸修改:

在mutation里面定義一個function函數 modify(),判斷是否存在children,如果存在則遞歸modify(),否則就直接修改value和lable

 quaryTreeList(state,result){
    function modify(result){
      result.map(item => {
        if(item.children){     // 遞歸調用
          modify(item.children);
        }
        item.value = item.id;
        item.label = item.name;
        return item;
      });
      return result;
    }
    modify(result);
    console.log('修改后的result===', result);
    state.treeSelectListResult = result;
  }

  

 


免責聲明!

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



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