From 98e85220d127b746aeb2c620b29099ae2cf6eeb6 Mon Sep 17 00:00:00 2001 From: Hooray Hu <304327508@qq.com> Date: Tue, 21 Nov 2023 14:27:02 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=AF=BC=E8=88=AAtitle=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layouts/components/Header/index.vue | 4 ++-- src/layouts/components/MainSidebar/index.vue | 4 ++-- src/layouts/components/Menu/item.vue | 4 ++-- src/layouts/components/Search/index.vue | 22 ++++++++++++++++---- src/types/global.d.ts | 4 ++-- 5 files changed, 26 insertions(+), 12 deletions(-) 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[] }