1.如何獲取目錄子級的id來進行傳值函數
效果圖和數據格式:this
數據格式:spa
answers: [ { label:"頂級目錄", value:"undefined", key:1 children:[ { label:'二級目錄', value:'undefined' key:2, children:[ { label:'子級目錄', value:'ed1eb230-6549-11e8-bf8a-2f7bf305f9b8', key:3 } ] } ] } ]
注:key值得惟一性
code
解決思路:遞歸函數=>知足條件,跳出blog
let xz_ml = this.state.xz_ml; let ml_arr = []; let selectKeyArr_arr = this.state && this.state.selectKeyArr;//目錄key值 const ml = (data) => { data && data.map((item, index) => { console.log(item.children,'item.children'); //!item.children是最子級節點。不知足提交走else繼續調用自身,直到知足條件 if (!item.children) { if (selectKeyArr_arr && (selectKeyArr_arr.indexOf(item.key) != -1)) { item.value && ml_arr.push(item.value) } } else { ml(item.children); } }) } console.log(answers,'answers'); console.log(selectKeyArr_arr,'selectKeyArr_arr'); console.log(xz_ml,'zzz'); if (xz_ml == "頂級目錄") { ml(answers); }