函数: getTreeParentList()
ts
function getTreeParentList<T>(
data,
val,
key?,
children?): T[];定义于: tree.ts:30
在树形数据中查找目标节点,返回从根节点到该节点的完整链路(含目标节点自身)。
采用深度优先遍历,命中后自动回溯,因此返回的数组就是「根 → … → 目标」的有序路径。
类型参数
| 类型参数 | 默认类型 |
|---|---|
T | any |
参数
| 参数 | 类型 | 描述 |
|---|---|---|
data | T[] | 树形数组 |
val | T[keyof T] | 目标节点在 key 字段上的值 |
key | keyof T | 查找所依据的键名,默认 'id' |
children | keyof T | 子级集合的键名,默认 'children' |
返回值
T[]
从根到目标的节点链路数组;未找到时返回空数组 []
备注
与 getTreeParentItem(只取直接父级)、findTreeNodeItem(只取目标节点本身)配套使用。
示例
ts
const list = [
{
name: 'option1', id: 1,
children: [
{ name: 'option1.1', id: 3 },
],
},
{ name: 'option2', id: 2 },
]
getTreeParentList(list, 3, 'id', 'children')
// => [{ name: 'option1', id: 1, children: [...] }, { name: 'option1.1', id: 3 }]