diff --git a/packages/devui-vue/devui/tree/src/core/use-core.ts b/packages/devui-vue/devui/tree/src/core/use-core.ts index 4dfd22119c..22942b008a 100644 --- a/packages/devui-vue/devui/tree/src/core/use-core.ts +++ b/packages/devui-vue/devui/tree/src/core/use-core.ts @@ -2,17 +2,20 @@ import { computed, ComputedRef, Ref } from 'vue'; import { IInnerTreeNode, ITreeNode, IUseCore, valueof } from './use-tree-types'; import { generateInnerTree } from './utils'; +const DEFAULT_CONFIG = { + expanded: false, // 是否只从展开了的节点中获取数据 + recursive: true, // 是否需要获取非直接子节点 +} + export default function(options?){ return function useCore(data: Ref): IUseCore { const getLevel = (node: IInnerTreeNode): number => { return data.value.find((item) => item.id === node.id).level; } - - const getChildren = (node: IInnerTreeNode, config = { - expanded: false, - recursive: true, - }): IInnerTreeNode[] => { + + const getChildren = (node: IInnerTreeNode, userConfig = DEFAULT_CONFIG): IInnerTreeNode[] => { let result = []; + const config = { ...DEFAULT_CONFIG, ...userConfig }; const treeData = config.expanded ? getExpendedTree() : data; const startIndex = treeData.value.findIndex((item) => item.id === node.id);