码迷,mamicode.com
首页 > 其他好文 > 详细

tree结构 删除其中一条tree(集合)

时间:2018-09-20 18:01:38      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:set   ++   数据   点击   需要   需求   parentId   包括   alt   

需求:通过点击获取需要删除的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(集合)

标签:set   ++   数据   点击   需要   需求   parentId   包括   alt   

原文地址:https://www.cnblogs.com/xiaoxinzi/p/9682242.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!