this.dataList.forEach(item => {
if (item.children == null) {
this.checkedKeys.push(item.budgetItemId)
} else {
item.children.forEach(ite => {
if (ite.children == null) {
this.checkedKeys.push(ite.budgetItemId)
} else {
ite.children.forEach(it => {
if (it.children == null) {
this.checkedKeys.push(it.budgetItemId)
} else {
it.children.forEach(it2 => {
this.checkedKeys.push(it2.budgetItemId)
})
}
})
}
})
}
})求大佬看看,這段代碼應該怎樣寫成遞回啊
uj5u.com熱心網友回復:
自己寫過一個函式,入參有兩個,一個是源資料(this.datalist/item.children),另一個是this.checkedKey。如果這個this.checkedKey是全域變數,那可以不定義為入參,只需要一個源資料引數即可
function fn(data){
data.forEach(item=>{
item.children? fn(item.children) : this.checkedKeys.push(item.budgetItemId);
})
}
fn(this.datalist)
uj5u.com熱心網友回復:
unforlAll(data){data.forEach((el) => {
el.children && el.children == null
? this.unforlAll(el.children)
: this.checkedKeys.push(el.budgetItemId); // 子級遞回
});
},
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/270257.html
標籤:JavaScript
