Skip to content

函数: eachTreeList()

ts
function eachTreeList<T>(
   data, 
   callback, 
   children?): void;

定义于: tree.ts:354

深度优先遍历树的每个节点,对每个节点执行回调(原地操作,可在回调中直接修改节点)。

类型参数

类型参数默认类型
Tany

参数

参数类型描述
dataT[]树形数组
callback(node, parent, level) => boolean | void每个节点触发的回调,签名 (node, parent, level)parent 为父节点(根节点为 null),level 为层级(根为 0);返回 false 可跳过该节点的子级递归
childrenkeyof T子级集合的键名,默认 'children'

返回值

void

备注

无返回值;若需要「返回结构相同的新树」而非原地遍历,请用 mapTreeList

示例

ts
const list = [
  {
    name: 'option1', id: 1,
    children: [
      { name: 'option1.1', id: 3 },
    ],
  },
  { name: 'option2', id: 2 },
]

// 给每个节点补一个 label 字段(原地修改)
eachTreeList(list, (node) => { node.label = node.name })