From 00eefb76371ba70ebb2f1dedb9f79f91d6f7c3b9 Mon Sep 17 00:00:00 2001 From: gxuud Date: Tue, 28 Dec 2021 01:49:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20tree=E7=BB=84=E4=BB=B6=E5=8D=95=E5=85=83?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=EF=BC=8Ctree=E7=BB=84=E4=BB=B6folder?= =?UTF-8?q?=E9=83=A8=E5=88=86=E5=B5=8C=E5=A5=97div=E4=BE=BF=E4=BA=8E?= =?UTF-8?q?=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devui/tree/__tests__/tree.spec.ts | 14 ++++----- packages/devui-vue/devui/tree/src/tree.tsx | 30 +++++++------------ 2 files changed, 17 insertions(+), 27 deletions(-) diff --git a/packages/devui-vue/devui/tree/__tests__/tree.spec.ts b/packages/devui-vue/devui/tree/__tests__/tree.spec.ts index 427125f6d7..08590ffe06 100644 --- a/packages/devui-vue/devui/tree/__tests__/tree.spec.ts +++ b/packages/devui-vue/devui/tree/__tests__/tree.spec.ts @@ -169,19 +169,19 @@ describe('tree', () => { }) it('should expand and collapse correctly', async () => { - const firstNode: Element = wrapper.element.firstElementChild + const firstNode = wrapper.get('.devui-tree-node:first-child') // 初始状态,节点是展开的 - expect(firstNode.classList).toContain('devui-tree-node__open') - + expect(firstNode.classes()).toContain('devui-tree-node__open') + // 点击之后,节点收起 - await wrapper.find('.devui-tree-node').trigger('click') + await wrapper.get('.devui-tree-node__folder:first-child').trigger('click') await nextTick() - expect(firstNode.classList).not.toContain('devui-tree-node__open') + expect(firstNode.classes()).not.toContain('devui-tree-node__open') // 再次点击,节点展开 - await wrapper.find('.devui-tree-node').trigger('click') + await wrapper.get('.devui-tree-node__folder:first-child').trigger('click') await nextTick() - expect(firstNode.classList).toContain('devui-tree-node__open') + expect(firstNode.classes()).toContain('devui-tree-node__open') }) }) diff --git a/packages/devui-vue/devui/tree/src/tree.tsx b/packages/devui-vue/devui/tree/src/tree.tsx index 7239b04a64..c75410d5aa 100644 --- a/packages/devui-vue/devui/tree/src/tree.tsx +++ b/packages/devui-vue/devui/tree/src/tree.tsx @@ -102,11 +102,16 @@ export default defineComponent({ return toggle(target, item) } return ( - isParent || children && children.length - ? open - ? - : - : +
+ { + isParent || children && children.length + ? open + ? + : + : + } +
+ ) } const checkState = CHECK_CONFIG[selected.value[id] ?? 'none'] @@ -134,24 +139,9 @@ export default defineComponent({ ) } - const renderTree = (tree) => { - return tree.map(item => { - if (!item.children) { - return renderNode(item) - } else { - return ( - <> - {renderNode(item)} - {renderTree(item.children)} - - ) - } - }) - } return () => { return (
- {/* { renderTree(data.value) } */} { openedData.value.map(item => renderNode(item)) }
)