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 |
