From 27a427eb977686a9763d10ef829ae01b5db65ee0 Mon Sep 17 00:00:00 2001
From: lau <1807121535@qq.com>
Date: Wed, 23 Jul 2025 14:09:41 +0800
Subject: [PATCH] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=E8=8F=9C=E5=8D=95?=
=?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=B2=A1=E6=9C=89=E6=AD=A3=E7=A1=AE=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E9=A1=B6=E7=BA=A7=E8=8F=9C=E5=8D=95=E7=9A=84=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/system/menu/index.vue | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue
index 99e1f9d..11c5ea7 100644
--- a/src/views/system/menu/index.vue
+++ b/src/views/system/menu/index.vue
@@ -28,7 +28,9 @@
新增
- 级联删除
+ 级联删除
@@ -388,12 +390,16 @@ const getList = async () => {
}
tempMap[parentId].push(menu);
}
+ // 创建一个当前所有 menuId 的 Set,用于查找父菜单是否存在于当前数据中
+ const menuIdSet = new Set();
// 设置有没有子菜单
for (const menu of res.data) {
menu['hasChildren'] = tempMap[menu.menuId]?.length > 0;
+ menuIdSet.add(menu.menuId);
}
menuChildrenListMap.value = tempMap;
- menuList.value = tempMap[0] || [];
+ // 找出所有父ID不在当前菜单ID集合中的菜单项,作为新的顶层菜单
+ menuList.value = res.data.filter((menu) => !menuIdSet.has(menu.parentId));
// 根据新数据重新加载子菜单数据
refreshAllExpandMenuData();
loading.value = false;