diff --git a/src/store/modules/route/shared.ts b/src/store/modules/route/shared.ts index eccb1541..c9cfa102 100644 --- a/src/store/modules/route/shared.ts +++ b/src/store/modules/route/shared.ts @@ -123,7 +123,7 @@ function getGlobalMenuByBaseRoute(route: RouteLocationNormalizedLoaded | Elegant const { SvgIconVNode } = useSvgIcon(); const { name, path } = route; - const { title, i18nKey, icon = import.meta.env.VITE_MENU_ICON, localIcon } = route.meta ?? {}; + const { title, i18nKey, icon = import.meta.env.VITE_MENU_ICON, localIcon, iconFontSize } = route.meta ?? {}; const label = i18nKey ? $t(i18nKey) : title!; @@ -133,7 +133,7 @@ function getGlobalMenuByBaseRoute(route: RouteLocationNormalizedLoaded | Elegant i18nKey, routeKey: name as RouteKey, routePath: path as RouteMap[RouteKey], - icon: SvgIconVNode({ icon, localIcon, fontSize: 20 }) + icon: SvgIconVNode({ icon, localIcon, fontSize: iconFontSize || 20 }) }; return menu; diff --git a/src/typings/router.d.ts b/src/typings/router.d.ts index f5128495..256e646a 100644 --- a/src/typings/router.d.ts +++ b/src/typings/router.d.ts @@ -42,6 +42,8 @@ declare module 'vue-router' { * In "src/assets/svg-icon", if it is set, the icon will be ignored */ localIcon?: string; + /** Icon size. width and height are the same. */ + iconFontSize?: number; /** Router order */ order?: number | null; /** The outer link of the route */