소스 검색

fix(app-search): exclude hidden items

修复菜单搜索组件可能会显示被隐藏的菜单的问题
无木 3 년 전
부모
커밋
faf5c9fd7e
3개의 변경된 파일5개의 추가작업 그리고 4개의 파일을 삭제
  1. 1 0
      CHANGELOG.zh_CN.md
  2. 3 3
      src/components/Application/src/search/useMenuSearch.ts
  3. 1 1
      src/router/routes/modules/demo/setup.ts

+ 1 - 0
CHANGELOG.zh_CN.md

@@ -1,6 +1,7 @@
 ### 🐛 Bug Fixes
 
 - **Table** 修复滚动条样式问题
+- **AppSearch** 修复可能会搜索隐藏菜单的问题
 - **其它** 修复菜单默认折叠的配置不起作用的问题
 
 ## 2.6.0(2021-07-04)

+ 3 - 3
src/components/Application/src/search/useMenuSearch.ts

@@ -55,7 +55,7 @@ export function useMenuSearch(refs: Ref<HTMLElement[]>, scrollWrap: Ref<ElRef>,
     }
     const reg = createSearchReg(unref(keyword));
     const filterMenu = filter(menuList, (item) => {
-      return reg.test(item.name);
+      return reg.test(item.name) && !item.hideMenu;
     });
     searchResult.value = handlerSearchResult(filterMenu, reg);
     activeIndex.value = 0;
@@ -64,8 +64,8 @@ export function useMenuSearch(refs: Ref<HTMLElement[]>, scrollWrap: Ref<ElRef>,
   function handlerSearchResult(filterMenu: Menu[], reg: RegExp, parent?: Menu) {
     const ret: SearchResult[] = [];
     filterMenu.forEach((item) => {
-      const { name, path, icon, children } = item;
-      if (reg.test(name) && !children?.length) {
+      const { name, path, icon, children, hideMenu } = item;
+      if (!hideMenu && reg.test(name) && !children?.length) {
         ret.push({
           name: parent?.name ? `${parent.name} > ${name}` : name,
           path,

+ 1 - 1
src/router/routes/modules/demo/setup.ts

@@ -11,7 +11,7 @@ const setup: AppRouteModule = {
   meta: {
     orderNo: 90000,
     hideChildrenInMenu: true,
-    icon: 'simple-icons:about-dot-me',
+    icon: 'whh:paintroll',
     title: t('routes.demo.setup.page'),
   },
   children: [