mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-11-03 13:44:47 +08:00
fix(tag): 删除非当前激活tag时不切换tag (#60)
* fix(tag): 删除非当前激活tag时不切换tag * fix(tag): 修复在激活菜单时选择关闭左侧标签后当前激活的菜单非选择菜单 * perf: 自定义去重函数更改为lodash-es的uniqBy
This commit is contained in:
@@ -174,9 +174,6 @@ function deleteDynamicTag(obj: any, current: any, tag?: string) {
|
||||
routerArrays.splice(start, end);
|
||||
relativeStorage.routesInStorage = routerArrays;
|
||||
}
|
||||
router.push(obj.path);
|
||||
// 删除缓存路由
|
||||
handleAliveRoute(route.matched, "delete");
|
||||
};
|
||||
|
||||
if (tag === "other") {
|
||||
@@ -189,15 +186,32 @@ function deleteDynamicTag(obj: any, current: any, tag?: string) {
|
||||
// 从当前匹配到的路径中删除
|
||||
spliceRoute(valueIndex, 1);
|
||||
}
|
||||
|
||||
if (current === obj.path) {
|
||||
let newRoute: any = routerArrays.slice(-1);
|
||||
if (current === route.path) {
|
||||
// 删除缓存路由
|
||||
handleAliveRoute(route.matched, "delete");
|
||||
// 如果删除当前激活tag就自动切换到最后一个tag
|
||||
let newRoute: any = routerArrays.slice(-1);
|
||||
if (tag === "left") return;
|
||||
nextTick(() => {
|
||||
router.push({
|
||||
path: newRoute[0].path
|
||||
});
|
||||
});
|
||||
} else {
|
||||
//保存跳转之前的路径
|
||||
let oldPath = route.path;
|
||||
router.push(obj.path);
|
||||
// 删除缓存路由
|
||||
handleAliveRoute(route.matched, "delete");
|
||||
if (!routerArrays.length) return;
|
||||
let isHasOldPath = routerArrays.some(item => {
|
||||
return item.path === oldPath;
|
||||
});
|
||||
isHasOldPath
|
||||
? router.push(oldPath)
|
||||
: router.push({
|
||||
path: newRoute[0].path
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user