[Refactor] Accept single root node in TreeExplorer (#3088)

This commit is contained in:
Chenlei Hu
2025-03-17 10:52:06 -04:00
committed by GitHub
parent e3c7bbf966
commit 1610d06cd1
5 changed files with 13 additions and 19 deletions

View File

@@ -4,7 +4,7 @@
:class="props.class"
v-model:expandedKeys="expandedKeys"
v-model:selectionKeys="selectionKeys"
:value="renderedRoots"
:value="renderedRoot.children"
selectionMode="single"
:pt="{
nodeLabel: 'tree-explorer-node-label',
@@ -57,7 +57,7 @@ provide('selectionKeys', selectionKeys)
const storeSelectionKeys = selectionKeys.value !== undefined
const props = defineProps<{
roots: TreeExplorerNode[]
root: TreeExplorerNode
class?: string
}>()
const emit = defineEmits<{
@@ -65,8 +65,8 @@ const emit = defineEmits<{
(e: 'nodeDelete', node: RenderedTreeExplorerNode): void
(e: 'contextMenu', node: RenderedTreeExplorerNode, event: MouseEvent): void
}>()
const renderedRoots = computed<RenderedTreeExplorerNode[]>(() => {
return props.roots.map(fillNodeInfo)
const renderedRoot = computed<RenderedTreeExplorerNode>(() => {
return fillNodeInfo(props.root)
})
const getTreeNodeIcon = (node: TreeExplorerNode) => {
if (node.getIcon) {
@@ -81,7 +81,7 @@ const getTreeNodeIcon = (node: TreeExplorerNode) => {
if (node.leaf) {
return 'pi pi-file'
}
const isExpanded = expandedKeys.value[node.key]
const isExpanded = expandedKeys.value?.[node.key] ?? false
return isExpanded ? 'pi pi-folder-open' : 'pi pi-folder'
}
const fillNodeInfo = (node: TreeExplorerNode): RenderedTreeExplorerNode => {