leta=[{key:1,title:'一級',parentKey:0,status:{choose:false},children:[{key:10,title:'一級-0',parentKey:1,status:{choose:false},children:[{key:15,title:'一級-0-1',parentKey:10,status:{choose:false}}]},{key:11,title:'一級-1',parentKey:1,status:{choose:false}},{key:12,title:'一級-2',parentKey:1,status:{choose:false}},{key:13,title:'一級-3',parentKey:1,status:{choose:false}},{key:14,title:'一級-4',parentKey:1,status:{choose:false}}]}];letparent=(data,obj)=>{data.forEach(item=>{if(item.key===obj.parentKey){//改為trueitem.status.choose=true;parent(data,item);}if(item.children&&item.children.length){parent(item.children,obj);}});};letobj={key:15,title:'一級-0-1',parentKey:10,status:{choose:false}};parent(a,obj);console.log(a);可是執行結果下來就只有key10修改到了循環上去理應key1的choose為true啊目前只有key修改到了!看了好半會。沒理解到為啥不執行上去!
有沒有人遇到過這個問題哈!js 樹第歸向上找父級修改數據 怎么只能改到一層呢!
aluckdog
2019-10-16 16:56:07