获取条件摇树结果
方法使用
js
import { getShakeBySearch } from "yiu-tree";
const tree = [
{
id: 1,
children: [
{ id: "1-1", children: [{ id: "1-1-1" }, { id: "1-1-2" }] },
{ id: "1-2" },
{ id: "1-3" },
],
},
{ id: 2, children: [{ id: "2-1" }] },
{ id: 3 },
{ id: 4 },
];
const result = getShakeBySearch(
tree,
(node) => Array.isArray(node.children) && !!node.children.length
);
console.log(`查询结果 :>> ${result}`);
方法说明
getShakeBySearch(tree, searchFunc, [opt])
方法默认开启深拷贝。
根据搜索方法进行摇树,将不符合搜索函数的节点摇掉。
NodeType
:T
getShakeBySearch<T>
: 泛型支持传入你定义的节点类型tree
:- 类型:
T[]
- 说明: 传入的树数据
- 类型:
searchFunc
:- 类型:
(node: T, [nodeInfo: TreeNodeInfo<T>]) => boolean
- 说明: 搜索函数
- 类型:
opt
:- 类型:
TreeBaseOpt<T>
- 说明: 树配置
- 类型: