fix: auto open root folder (#151)

This commit is contained in:
Hayden
2025-02-22 18:30:29 +08:00
committed by GitHub
parent 76df8cd3cb
commit 312138f981
2 changed files with 11 additions and 2 deletions

View File

@@ -1,7 +1,7 @@
import { genModelFullName, useModels } from 'hooks/model' import { genModelFullName, useModels } from 'hooks/model'
import { cloneDeep, filter, find } from 'lodash' import { cloneDeep, filter, find } from 'lodash'
import { BaseModel, Model, SelectOptions } from 'types/typings' import { BaseModel, Model, SelectOptions } from 'types/typings'
import { computed, ref } from 'vue' import { computed, ref, watch } from 'vue'
export interface FolderPathItem { export interface FolderPathItem {
name: string name: string
@@ -26,7 +26,7 @@ export type TreeItemNode = ModelTreeNode & {
} }
export const useModelExplorer = () => { export const useModelExplorer = () => {
const { data, folders, ...modelRest } = useModels() const { data, folders, initialized, ...modelRest } = useModels()
const folderPaths = ref<FolderPathItem[]>([]) const folderPaths = ref<FolderPathItem[]>([])
@@ -144,6 +144,12 @@ export const useModelExplorer = () => {
folderPaths.value = folderItems folderPaths.value = folderItems
} }
watch(initialized, (val) => {
if (val) {
openFolder(dataTreeList.value[0])
}
})
return { return {
folders, folders,
folderPaths, folderPaths,

View File

@@ -50,10 +50,12 @@ export const useModels = defineStore('models', (store) => {
const loading = useLoading() const loading = useLoading()
const folders = ref<ModelFolder>({}) const folders = ref<ModelFolder>({})
const initialized = ref(false)
const refreshFolders = async () => { const refreshFolders = async () => {
return request('/models').then((resData) => { return request('/models').then((resData) => {
folders.value = resData folders.value = resData
initialized.value = true
}) })
} }
@@ -233,6 +235,7 @@ export const useModels = defineStore('models', (store) => {
} }
return { return {
initialized: initialized,
folders: folders, folders: folders,
data: models, data: models,
refresh: refreshAllModels, refresh: refreshAllModels,