TreeTools
给树型结构扩展属性,方法,便于对其进行操作。
基础用法
可以使用for...of
、for
等方式直接对实例对象进行遍历操作。
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 |
idKey | id属性值 | string |
nameKey | name属性值 | string |
childrenKey | children属性值 | string |
实例方法
名称 | 说明 | 类型 |
---|---|---|
addCustomAttr | 为每个节点设置自定义属性 | function |
getLeafIds | 获取指定ids的叶子节点id集合 | function |
getNodesByLeafIds | 获取叶子节点是指定ids的子集的父节点 | function |
getNodes | 获取指定ids的节点集合 | function |