Element UI tree 递归删除选中节点生成树

Posted 长不大的大灰狼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Element UI tree 递归删除选中节点生成树相关的知识,希望对你有一定的参考价值。

Element UI tree 递归删除、选中节点生成树

一、递归删除树节点

演示:

代码:

    deletedId(data, ids) 
      for (var m = 0, n = data.length; m < n; m++) 
        for (var i = 0, j = ids.length; i <j; i++) 
          if (data[m] && data[m].id === ids[i]) 
            data.splice(m, 1)
          
        
        if (data[m] && data[m].children.length > 0) 
          this.deletedId(data[m].children, ids)
        
      
      return data
    
  

二、选中节点生成树

nodes: 左树数据
selectedKeys:选中节点id

/**
 * 递归计算选中的节点
 */
walkTreeData(nodes, selectedKeys) 
  const ret = []
  nodes.forEach(node => 
    const newNode = ...node
    delete newNode.children
    node.children && (newNode.children = this.walkTreeData(node.children, selectedKeys))
    if (selectedKeys.includes(newNode.id) || newNode.children && newNode.children.length) 
      ret.push(newNode)
    
  )
  return ret
,

以上是关于Element UI tree 递归删除选中节点生成树的主要内容,如果未能解决你的问题,请参考以下文章

Element-UI tree 组件 选中节点高亮的问题处理

element-ui el-tree选中子节点时默认选择父节点

element-ui el-tree选择子节点时同时选择并提交父节点逻辑问题

Element UI tree 组件 获取所选最高一级的节点

element-ui el-tree手动展开/折叠全部节点

Element UI Tree 树形控件根据层级全选控制