Skip to content

Commit 2999d92

Browse files
authored
fix: tree组件单元测试,tree组件folder部分嵌套div便于控制 (#106)
1 parent badb744 commit 2999d92

File tree

2 files changed

+17
-27
lines changed

2 files changed

+17
-27
lines changed

packages/devui-vue/devui/tree/__tests__/tree.spec.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -169,19 +169,19 @@ describe('tree', () => {
169169
})
170170

171171
it('should expand and collapse correctly', async () => {
172-
const firstNode: Element = wrapper.element.firstElementChild
172+
const firstNode = wrapper.get('.devui-tree-node:first-child')
173173

174174
// 初始状态,节点是展开的
175-
expect(firstNode.classList).toContain('devui-tree-node__open')
176-
175+
expect(firstNode.classes()).toContain('devui-tree-node__open')
176+
177177
// 点击之后,节点收起
178-
await wrapper.find('.devui-tree-node').trigger('click')
178+
await wrapper.get('.devui-tree-node__folder:first-child').trigger('click')
179179
await nextTick()
180-
expect(firstNode.classList).not.toContain('devui-tree-node__open')
180+
expect(firstNode.classes()).not.toContain('devui-tree-node__open')
181181

182182
// 再次点击,节点展开
183-
await wrapper.find('.devui-tree-node').trigger('click')
183+
await wrapper.get('.devui-tree-node__folder:first-child').trigger('click')
184184
await nextTick()
185-
expect(firstNode.classList).toContain('devui-tree-node__open')
185+
expect(firstNode.classes()).toContain('devui-tree-node__open')
186186
})
187187
})

packages/devui-vue/devui/tree/src/tree.tsx

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,16 @@ export default defineComponent({
102102
return toggle(target, item)
103103
}
104104
return (
105-
isParent || children && children.length
106-
? open
107-
? <IconOpen class="mr-xs" onClick={handleClick} />
108-
: <IconClose class="mr-xs" onClick={handleClick} />
109-
: <Indent />
105+
<div class="devui-tree-node__folder" onClick={handleClick} >
106+
{
107+
isParent || children && children.length
108+
? open
109+
? <IconOpen class="mr-xs" />
110+
: <IconClose class="mr-xs" />
111+
: <Indent />
112+
}
113+
</div>
114+
110115
)
111116
}
112117
const checkState = CHECK_CONFIG[selected.value[id] ?? 'none']
@@ -134,24 +139,9 @@ export default defineComponent({
134139
</div>
135140
)
136141
}
137-
const renderTree = (tree) => {
138-
return tree.map(item => {
139-
if (!item.children) {
140-
return renderNode(item)
141-
} else {
142-
return (
143-
<>
144-
{renderNode(item)}
145-
{renderTree(item.children)}
146-
</>
147-
)
148-
}
149-
})
150-
}
151142
return () => {
152143
return (
153144
<div class="devui-tree">
154-
{/* { renderTree(data.value) } */}
155145
{ openedData.value.map(item => renderNode(item)) }
156146
</div>
157147
)

0 commit comments

Comments
 (0)