需求:经过点击获取须要删除的id(即获取到整条信息),若是该条数据没有子集,经过id删除便可,若是有子集,则该数据下全部的子集都须要删 node
删除后页面的数据更新在 下一篇 讲解ios
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};