From 70f58df4daebf7dba7f4a24aee506e14885761bd Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 19 八月 2025 14:45:41 +0800 Subject: [PATCH] fix: bug --- src/utils/common/tree.ts | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) diff --git a/src/utils/common/tree.ts b/src/utils/common/tree.ts index c1f171c..8f5241f 100644 --- a/src/utils/common/tree.ts +++ b/src/utils/common/tree.ts @@ -1,3 +1,5 @@ +import { TreeNodeData } from 'element-plus/es/components/tree/src/tree.type'; + export function getTree( data: API.ModuleDto[], root?: string, @@ -44,3 +46,27 @@ return result; } + +type TreeCallback<T extends TreeNodeData, R> = ( + data: T, + index: number, + array: T[], + parent?: T +) => R; + +export function treeEach<T extends TreeNodeData>( + treeData: T[], + callback: TreeCallback<T, void>, + getChildren: (data: T) => T[], + parent?: T +) { + for (let i = 0; i < treeData.length; i++) { + const data = treeData[i]; + callback(data, i, treeData, parent); + + const children = getChildren(data); + if (Array.isArray(children)) { + treeEach(children, callback, getChildren, data); + } + } +} -- Gitblit v1.9.1