vben
2021-01-17 7279c0a7b592774071d6d561efad251cd04cc5b5
refactor(menu): added 'SimpleMenu' component. Solve the menu stuck problem #199 #190 #191
4个文件已修改
15 ■■■■ 已修改文件
CHANGELOG.zh_CN.md 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/SimpleMenu/src/SimpleSubMenu.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/helper/menuHelper.ts 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/types.ts 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CHANGELOG.zh_CN.md
@@ -8,6 +8,7 @@
- 修复 `TableAction`图标问题
- 修复菜单折叠按钮丢失问题
- 修复菜单相关问题
## 2.0.0-rc.16 (2020-01-12)
src/components/SimpleMenu/src/SimpleSubMenu.vue
@@ -76,7 +76,7 @@
      const { prefixCls } = useDesign('simple-menu');
      const getShowMenu = computed(() => {
        return !props.item.meta?.hideMenu;
        return !props.item?.hideMenu;
      });
      const getIcon = computed(() => props.item?.icon);
src/router/helper/menuHelper.ts
@@ -45,6 +45,13 @@
export function transformRouteToMenu(routeModList: AppRouteModule[]) {
  const cloneRouteModList = cloneDeep(routeModList);
  const routeList: AppRouteRecordRaw[] = [];
  // cloneRouteModList = filter(cloneRouteModList, (node) => {
  //   if (Reflect.has(node?.meta ?? {}, 'hideMenu')) {
  //     return !node?.meta.hideMenu;
  //   }
  //   return true;
  // });
  cloneRouteModList.forEach((item) => {
    if (item.meta?.single) {
      const realItem = item?.children?.[0];
@@ -55,13 +62,14 @@
  });
  return treeMap(routeList, {
    conversion: (node: AppRouteRecordRaw) => {
      const { meta: { title, icon } = {} } = node;
      const { meta: { title, icon, hideMenu = false } = {} } = node;
      !isUrl(node.path) && joinParentPath(routeList, node);
      return {
        name: title,
        icon,
        path: node.path,
        hideMenu,
      };
    },
  });
src/router/types.ts
@@ -75,6 +75,8 @@
  meta?: Partial<RouteMeta>;
  tag?: MenuTag;
  hideMenu?: boolean;
}
export interface MenuModule {