|
|
@@ -40,8 +40,25 @@
|
|
|
|
|
|
const openKeys = ref<string[]>([]);
|
|
|
|
|
|
+ // 将菜单数组过滤掉隐藏的菜单
|
|
|
+ const filterHiddenMenus = (menus: any[]) => {
|
|
|
+ return menus.filter((menu) => !menu.meta?.hidden);
|
|
|
+ };
|
|
|
+
|
|
|
+ function filterHiddenItems(arr: any[]): any[] {
|
|
|
+ return arr.filter((item) => {
|
|
|
+ if (item.meta && item.meta.hidden) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (item.children && Array.isArray(item.children)) {
|
|
|
+ item.children = filterHiddenItems(item.children);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
const subMenus = computed(() => {
|
|
|
- return currentRoute.matched[0].children;
|
|
|
+ return filterHiddenItems(currentRoute.matched[0].children);
|
|
|
});
|
|
|
|
|
|
// 跟随页面路由变化,切换菜单选中状态
|