无木
2021-07-05 02d3dca57efedc1322ae38e3f432cf1f6c2cf839
fix(app-search): exclude items by `hideChildrenInMenu`

修复菜单搜索组件可能会显示被隐藏的子菜单的问题
2个文件已修改
7 ■■■■■ 已修改文件
src/components/Application/src/search/useMenuSearch.ts 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/routes/modules/about.ts 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Application/src/search/useMenuSearch.ts
@@ -64,15 +64,15 @@
  function handlerSearchResult(filterMenu: Menu[], reg: RegExp, parent?: Menu) {
    const ret: SearchResult[] = [];
    filterMenu.forEach((item) => {
      const { name, path, icon, children, hideMenu } = item;
      if (!hideMenu && reg.test(name) && !children?.length) {
      const { name, path, icon, children, hideMenu, meta } = item;
      if (!hideMenu && reg.test(name) && (!children?.length || meta?.hideChildrenInMenu)) {
        ret.push({
          name: parent?.name ? `${parent.name} > ${name}` : name,
          path,
          icon,
        });
      }
      if (Array.isArray(children) && children.length) {
      if (!meta?.hideChildrenInMenu && Array.isArray(children) && children.length) {
        ret.push(...handlerSearchResult(children, reg, item));
      }
    });
src/router/routes/modules/about.ts
@@ -22,6 +22,7 @@
      meta: {
        title: t('routes.dashboard.about'),
        icon: 'simple-icons:about-dot-me',
        // hideMenu: true,
      },
    },
  ],