From aa26e429f69f579aa7f956ef19c529055fe32733 Mon Sep 17 00:00:00 2001 From: Kagol Date: Wed, 6 Apr 2022 15:21:24 +0800 Subject: [PATCH] =?UTF-8?q?feat(tree):=20=E5=A2=9E=E5=8A=A0=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E6=8F=92=E6=A7=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/devui-vue/devui/tree/src/const.ts | 2 +- packages/devui-vue/devui/tree/src/new-tree.tsx | 12 +++++++++--- packages/devui-vue/devui/tree/src/tree.scss | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/devui-vue/devui/tree/src/const.ts b/packages/devui-vue/devui/tree/src/const.ts index 03ce915704..f1d856b4bd 100644 --- a/packages/devui-vue/devui/tree/src/const.ts +++ b/packages/devui-vue/devui/tree/src/const.ts @@ -1,3 +1,3 @@ export const USE_TREE_TOKEN = 'use-tree-token'; -export const NODE_HEIGHT = 40; +export const NODE_HEIGHT = 30; export const NODE_INDENT = 24; diff --git a/packages/devui-vue/devui/tree/src/new-tree.tsx b/packages/devui-vue/devui/tree/src/new-tree.tsx index aed82a358b..9022cbfb3d 100644 --- a/packages/devui-vue/devui/tree/src/new-tree.tsx +++ b/packages/devui-vue/devui/tree/src/new-tree.tsx @@ -1,4 +1,4 @@ -import { defineComponent, PropType, provide, toRefs, watch } from 'vue'; +import { defineComponent, PropType, provide, renderSlot, toRefs, useSlots, watch } from 'vue'; import type { ITreeNode } from './core/use-tree-types'; import DTreeNode from './components/tree-node'; import useTree from './core/use-tree'; @@ -15,7 +15,7 @@ export default defineComponent({ default: [] } }, - setup(props) { + setup(props, { slots }) { const { data } = toRefs(props); const treeFactory = useTree( @@ -37,7 +37,13 @@ export default defineComponent({ return (
{ - getExpendedTree().value.map(treeNode => ) + getExpendedTree().value.map(treeNode => ( + slots.default + ? renderSlot(useSlots(), 'default', { + treeFactory: treeFactory, nodeData: treeNode + }) + : + )) }
); diff --git a/packages/devui-vue/devui/tree/src/tree.scss b/packages/devui-vue/devui/tree/src/tree.scss index 051ee46435..6e3c354ca9 100644 --- a/packages/devui-vue/devui/tree/src/tree.scss +++ b/packages/devui-vue/devui/tree/src/tree.scss @@ -68,6 +68,7 @@ $keyframe-blue: #5e7ce0; display: inline-flex; align-items: center; width: 100%; + height: 30px; .devui-tree-node_loading { margin-left: 50px;