diff --git a/src/layouts/components/Header/index.vue b/src/layouts/components/Header/index.vue index dfd8e4f8..00a1c440 100755 --- a/src/layouts/components/Header/index.vue +++ b/src/layouts/components/Header/index.vue @@ -41,12 +41,12 @@ function handlerMouserScroll(event: WheelEvent) { diff --git a/src/layouts/components/MainSidebar/index.vue b/src/layouts/components/MainSidebar/index.vue index cd98ec30..b07bd0b5 100755 --- a/src/layouts/components/MainSidebar/index.vue +++ b/src/layouts/components/MainSidebar/index.vue @@ -28,12 +28,12 @@ const { switchTo } = useMenu() diff --git a/src/layouts/components/Menu/item.vue b/src/layouts/components/Menu/item.vue index ce158e21..a780a783 100644 --- a/src/layouts/components/Menu/item.vue +++ b/src/layouts/components/Menu/item.vue @@ -47,7 +47,7 @@ defineExpose({ class="menu-item-container w-full h-full flex justify-between items-center gap-1 px-5 py-4 transition-all cursor-pointer group text-[var(--g-sub-sidebar-menu-color)] hover:(text-[var(--g-sub-sidebar-menu-hover-color)] bg-[var(--g-sub-sidebar-menu-hover-bg)])" :class="{ 'text-[var(--g-sub-sidebar-menu-active-color)]! bg-[var(--g-sub-sidebar-menu-active-bg)]!': isItemActive, 'px-3!': rootMenu.isMenuPopup && level === 0, - }" :title="item.meta?.title" + }" :title="typeof item.meta?.title === 'function' ? item.meta?.title() : item.meta?.title" >
- {{ item.meta?.title }} + {{ typeof item.meta?.title === 'function' ? item.meta?.title() : item.meta?.title }}
string) link?: string - breadcrumb: any[] + breadcrumb: { + title?: string | (() => string) + }[] } const isShow = ref(false) @@ -82,7 +84,19 @@ const resultList = computed(() => { if (item.path.includes(searchInput.value)) { flag = true } - if (item.breadcrumb.some((b: { title: any }) => b.title.includes(searchInput.value))) { + if (item.breadcrumb.some((b) => { + if (typeof b.title === 'function') { + if (b.title().includes(searchInput.value)) { + return true + } + } + else { + if (b.title?.includes(searchInput.value)) { + return true + } + } + return false + })) { flag = true } return flag @@ -280,10 +294,10 @@ function pageJump(path: listTypes['path'], link: listTypes['link']) {
-
{{ item.title ?? '[ 无标题 ]' }}
+
{{ (typeof item.title === 'function' ? item.title() : item.title) ?? '[ 无标题 ]' }}
- {{ bc.title ?? '[ 无标题 ]' }} + {{ (typeof bc.title === 'function' ? bc.title() : bc.title) ?? '[ 无标题 ]' }}
diff --git a/src/types/global.d.ts b/src/types/global.d.ts index bbba3dcd..4365f0f6 100755 --- a/src/types/global.d.ts +++ b/src/types/global.d.ts @@ -243,7 +243,7 @@ declare namespace Menu { interface recordRaw { path?: string meta?: { - title?: string + title?: string | (() => string) icon?: string defaultOpened?: boolean auth?: string | string[] @@ -255,7 +255,7 @@ declare namespace Menu { /** 主导航 */ interface recordMainRaw { meta?: { - title?: string + title?: string | (() => string) icon?: string auth?: string | string[] }