fix: 修复params传参模式下标签页右键菜单显示不正确的问题

This commit is contained in:
xiaoxian521 2025-08-21 16:16:56 +08:00
parent acf15af930
commit cbb4144ffe

View File

@ -353,7 +353,7 @@ function onClickDrop(key, item, selectRoute?: RouteConfigs) {
break;
}
setTimeout(() => {
showMenuModel(route.fullPath, route.query);
showMenuModel(route.fullPath, route.query, route.params);
});
}
@ -388,15 +388,18 @@ function disabledMenus(value: boolean, fixedTag = false) {
function showMenuModel(
currentPath: string,
query: object = {},
params: object = {},
refresh = false
) {
const allRoute = multiTags.value;
const routeLength = multiTags.value.length;
let currentIndex = -1;
if (isAllEmpty(query)) {
currentIndex = allRoute.findIndex(v => v.path === currentPath);
} else {
if (!isAllEmpty(params)) {
currentIndex = allRoute.findIndex(v => isEqual(v.params, params));
} else if (!isAllEmpty(query)) {
currentIndex = allRoute.findIndex(v => isEqual(v.query, query));
} else {
currentIndex = allRoute.findIndex(v => v.path === currentPath);
}
function fixedTagDisabled() {
if (allRoute[currentIndex]?.meta?.fixedTag) {
@ -462,14 +465,17 @@ function openMenu(tag, e) {
} else if (route.path !== tag.path && route.name !== tag.name) {
//
tagsViews[0].show = false;
showMenuModel(tag.path, tag.query);
showMenuModel(tag.path, tag.query, tag.params);
} else if (multiTags.value.length === 2 && route.path !== tag.path) {
showMenus(true);
//
tagsViews[4].show = false;
showMenuModel(tag.path, tag.query, tag.params);
} else if (route.path === tag.path) {
//
showMenuModel(tag.path, tag.query, true);
showMenuModel(tag.path, tag.query, tag.params, true);
} else {
showMenuModel(tag.path, tag.query, tag.params, true);
}
currentSelect.value = tag;