tree結構 刪除其中一條tree(集合)
阿新 • • 發佈:2018-09-20
子集 包括 const children 需求 數據 執行方法 多條 通過
需求:通過點擊獲取需要刪除的id(即獲取到整條信息),如果該條數據沒有子集,通過id刪除即可,如果有子集,則該數據下所有的子集都需要刪
1 const id =‘123‘; //刪除節點的id(點擊獲取到的id);
2 const localTree = [...]; //獲取到需要被刪除的樹(不包括id對應的節點,可以稱之為被刪除的根節點)
3 let ids = []; //多條刪除id集合
4 ids.push(id);
5 if (localTree) {
6 const newTeams = function (data, parentId) {
7 for (let i = 0; i < data.length; i++) {
8 const node = data[i];
9 ids.push(node.id); //每循環一次就將獲取到的id添加到id集合中
10 const children = node.children;
11 if (children.length) {
12 newTeams(children, children[0].id);
13 }
14 }
15 }
16 newTeams(localTree, id); //執行方法
17 }
18
19 //註:此方法主要的獲取需要被刪除的id集合
20 //for of 循環刪除 ,這裏是saga進行刪除,刪除多條時,需要for of 循環刪除
21 for (let i of ids) {
22 yield axios.delete(‘/api/AssetClasses/‘ + i);
23};
tree結構 刪除其中一條tree(集合)