UNPKG

@opentiny/tiny-toolkit-pro

Version:

TinyPro Vue:开箱即用、前后端分离的 Vue 后台管理模板

23 lines (21 loc) 621 B
import type { ITreeNodeData } from '@/router/guard/menu'; import { useDeepClone } from './useDeepClone'; export const useI18nMenu = ( data: ITreeNodeData[], t: (key: string) => string, ) => { const menus: ITreeNodeData[] = useDeepClone(data); const dfs = (menu: ITreeNodeData) => { menu.oldLabel = menu.label; menu.label = t(menu.locale).toString(); for (let i = 0; i < menu.children.length; i += 1) { const item = menu.children[i]; dfs(item); } }; for (let i = 0; i < menus.length; i += 1) { const menu = menus[i]; dfs(menu); } return menus; };