From 9e115daeb93c7e83d85858f75b700db3aa303b40 Mon Sep 17 00:00:00 2001 From: Kori Date: Mon, 16 Oct 2023 22:53:01 +0800 Subject: [PATCH] feat: internationalized menu search --- .../global-search/components/search-modal.vue | 14 +++++++++++--- .../global-search/components/search-result.vue | 5 ++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/layouts/common/global-search/components/search-modal.vue b/src/layouts/common/global-search/components/search-modal.vue index b559b449..663fb72f 100644 --- a/src/layouts/common/global-search/components/search-modal.vue +++ b/src/layouts/common/global-search/components/search-modal.vue @@ -34,6 +34,7 @@ import { useRouter } from 'vue-router'; import { onKeyStroke, useDebounceFn } from '@vueuse/core'; import { useRouteStore } from '@/store'; import { useBasicLayout } from '@/composables'; +import { $t } from '@/locales'; import SearchResult from './search-result.vue'; import SearchFooter from './search-footer.vue'; @@ -82,9 +83,16 @@ watch(show, async val => { /** 查询 */ function search() { - resultOptions.value = routeStore.searchMenus.filter( - menu => keyword.value && menu.meta?.title.toLocaleLowerCase().includes(keyword.value.toLocaleLowerCase().trim()) - ); + resultOptions.value = routeStore.searchMenus.filter(menu => { + return ( + (keyword.value && + menu.meta?.i18nTitle && + $t(menu.meta?.i18nTitle) + .toLocaleLowerCase() + .includes(keyword.value.toLocaleLowerCase().trim())) || + menu.meta?.title.toLocaleLowerCase().includes(keyword.value.toLocaleLowerCase().trim()) + ); + }); if (resultOptions.value?.length > 0) { activePath.value = resultOptions.value[0].path; } else { diff --git a/src/layouts/common/global-search/components/search-result.vue b/src/layouts/common/global-search/components/search-result.vue index 68eed3ab..66ab5409 100644 --- a/src/layouts/common/global-search/components/search-result.vue +++ b/src/layouts/common/global-search/components/search-result.vue @@ -12,7 +12,9 @@ @mouseenter="handleMouse(item)" > - {{ item.meta?.title }} + + {{ (item.meta?.i18nTitle && $t(item.meta?.i18nTitle)) || item.meta?.title }} + @@ -23,6 +25,7 @@