Skip to content

TreeTools

给树型结构扩展属性,方法,便于对其进行操作。

基础用法

可以使用for...offor等方式直接对实例对象进行遍历操作。

ts
import { TreeTools } from 'strive-molu';
import sourceTree from './sourceTree';

const treeTools = new TreeTools(sourceTree);

for (const node of treeTools) {
  console.log('==Node==', node);
}

// 添加自定义属性
treeTools.addCustomAttr('selected', false);

Attrs

节点属性

名称说明类型
level当前节点层级number
leafIds当前节点的所有叶子节点ID列表array
parent当前节点的父节点object

实例属性

名称说明类型
allIds所有节点id集合array
allLeafIds所有叶子节点集合array
deepLevel最深层级number
sourceTree源数据array
idKeyid属性值string
nameKeyname属性值string
childrenKeychildren属性值string

实例方法

名称说明类型
addCustomAttr为每个节点设置自定义属性function
getLeafIds获取指定ids的叶子节点id集合function
getNodesByLeafIds获取叶子节点是指定ids的子集的父节点function
getNodes获取指定ids的节点集合function