Skip to content

Commit 4ecf8ee

Browse files
committed
feat(Tree): 添加页面折叠图标切换功能,优化图标显示逻辑
1 parent 98739c0 commit 4ecf8ee

3 files changed

Lines changed: 57 additions & 4 deletions

File tree

Lines changed: 23 additions & 0 deletions
Loading
Lines changed: 21 additions & 0 deletions
Loading

packages/plugins/page/src/Tree.vue

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@
2727
>
2828
<div class="content" @click="handleClickRow(node)">
2929
<layer-lines :line-data="layerLine[rowIndex]" :level="node.level"></layer-lines>
30-
<div class="prefix-icon" @click.stop="switchCollapse(node.id)">
31-
<svg-icon v-if="node.rawData.isPage" name="text-page-common"></svg-icon>
32-
<svg-icon v-else-if="collapseMap[node.id]" name="folder"></svg-icon>
33-
<svg-icon v-else name="folder-wold"></svg-icon>
30+
<div class="prefix-icon" @click.stop="handleSwitchCollapse(node)">
31+
<svg-icon
32+
v-if="node.rawData.isPage"
33+
:name="collapseMap[node.id] ? 'page-multiple' : 'page-single'"
34+
></svg-icon>
35+
<svg-icon v-else :name="collapseMap[node.id] ? 'folder' : 'folder-wold'"></svg-icon>
3436
</div>
3537
<label>{{ node.label }}</label>
3638
</div>
@@ -95,6 +97,13 @@ const useCollapseMap = () => {
9597
9698
const { collapseMap, switchCollapse } = useCollapseMap()
9799
100+
const handleSwitchCollapse = (node) => {
101+
const children = node.rawData[props.childrenKey]
102+
if (Array.isArray(children) && children.length > 0) {
103+
switchCollapse(node.id)
104+
}
105+
}
106+
98107
const flattenTreeData = (node, parentId, level = 0, collapsed = false) => {
99108
const { idKey, labelKey, childrenKey } = props
100109

0 commit comments

Comments
 (0)