fix: find subfolder incorrect (#154)

This commit is contained in:
Hayden
2025-02-24 11:07:43 +08:00
committed by GitHub
parent 312138f981
commit 965905305e
2 changed files with 17 additions and 6 deletions

View File

@@ -193,7 +193,10 @@ const sortOrderOptions = ref(
const currentDataList = computed(() => {
let renderedList = dataTreeList.value
for (const folderItem of folderPaths.value) {
const found = findFolder(renderedList, folderItem.name)
const found = findFolder(renderedList, {
basename: folderItem.name,
pathIndex: folderItem.pathIndex,
})
renderedList = found?.children || []
}

View File

@@ -5,6 +5,7 @@ import { computed, ref, watch } from 'vue'
export interface FolderPathItem {
name: string
pathIndex: number
icon?: string
onClick: () => void
children: SelectOptions[]
@@ -91,10 +92,11 @@ export const useModelExplorer = () => {
return [root]
})
function findFolder(list: ModelTreeNode[], name: string) {
return find(list, { isFolder: true, basename: name }) as
| ModelFolder
| undefined
function findFolder(
list: ModelTreeNode[],
feature: { basename: string; pathIndex: number },
) {
return find(list, { ...feature, isFolder: true }) as ModelFolder | undefined
}
function findFolders(list: ModelTreeNode[]) {
@@ -118,7 +120,12 @@ export const useModelExplorer = () => {
let levelFolders = findFolders(dataTreeList.value)
for (const [index, part] of pathParts.entries()) {
const currentFolder = findFolder(levelFolders, part)
const pathIndex = index < 2 ? 0 : item.pathIndex
const currentFolder = findFolder(levelFolders, {
basename: part,
pathIndex: pathIndex,
})
if (!currentFolder) {
break
}
@@ -126,6 +133,7 @@ export const useModelExplorer = () => {
levelFolders = findFolders(currentFolder.children ?? [])
folderItems.push({
name: currentFolder.basename,
pathIndex: pathIndex,
icon: index === 0 ? 'pi pi-desktop' : '',
onClick: () => {
openFolder(currentFolder)