diff --git a/src/hooks/useMenuMethod.ts b/src/hooks/useMenuMethod.ts index de85910..1ca1018 100644 --- a/src/hooks/useMenuMethod.ts +++ b/src/hooks/useMenuMethod.ts @@ -6,21 +6,22 @@ export const useMenuMethod = () => { /** * 多级菜单的显示隐藏 * @param {Menu.MenuOptions} item 菜单的item - * @returns 若多级菜单有children,并且不隐藏,返回true,否则返回false + * @returns type:1为目录,并且不隐藏,返回true,否则返回false */ const menuShow = (item: Menu.MenuOptions) => { - if (item.children && item.children?.length > 0 && !item.meta.hide) return true; + if (item.meta.type == 1 && !item.meta.hide) return true; return false; }; /** * 单级菜单的显示隐藏 * @param {Menu.MenuOptions} item 菜单的item - * @returns 若单级菜单不隐藏,返回true,否则返回false + * @returns type:2为菜单,并且单级菜单不隐藏,返回true,否则返回false */ const aMenuShow = (item: Menu.MenuOptions) => { - if (!item.meta.hide) return true; + if (item.meta.type == 2 && !item.meta.hide) return true; return false; }; + return { menuShow, aMenuShow diff --git a/src/lang/index.ts b/src/lang/index.ts index da27061..18a4398 100644 --- a/src/lang/index.ts +++ b/src/lang/index.ts @@ -21,7 +21,19 @@ const i18n = createI18n({ legacy: false, // Composition API模式需要设为false globalInjection: true, // 全局生效: $ locale: getLang(), // 默认语言 - messages // 数据源 + messages, // 数据源 + missing: (_: string, key: string) => { + return removeBeforeFirstDot(key); + } }); +/** + * @param { string } str 国际化key + * @returns 去掉第一个点之前的字符串,例如:"menu.home" => "home" + */ +function removeBeforeFirstDot(str: string) { + const dotIndex = str.indexOf("."); + return dotIndex >= 0 ? str.slice(dotIndex + 1) : "未定义"; +} + export default i18n; diff --git a/src/layout/layout-mixing/index.vue b/src/layout/layout-mixing/index.vue index 14ea636..1030837 100644 --- a/src/layout/layout-mixing/index.vue +++ b/src/layout/layout-mixing/index.vue @@ -22,7 +22,7 @@ :popup-max-height="600" >