兰宝车间质量管理系统-前端
!63 关闭动态路由tab页签时不清理组件缓存
* 动态路由页面关闭时不清理组件缓存,避免清理已打开的多个路由页面缓存
已修改1个文件
11 ■■■■ 文件已修改
src/store/modules/tagsView.ts 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/tagsView.ts
@@ -1,4 +1,4 @@
import { TagView } from 'vue-router';
import { TagView, RouteRecordNormalized } from 'vue-router';
export const useTagsViewStore = defineStore('tagsView', () => {
  const visitedViews = ref<TagView[]>([]);
@@ -35,7 +35,9 @@
  const delView = (view: TagView): Promise<{ visitedViews: TagView[]; cachedViews: string[] }> => {
    return new Promise((resolve) => {
      delVisitedView(view);
      delCachedView(view);
      if (!isDynamicRoute(view)) {
        delCachedView(view);
      }
      resolve({
        visitedViews: [...visitedViews.value],
        cachedViews: [...cachedViews.value]
@@ -177,6 +179,11 @@
    }
  };
  const isDynamicRoute = (view: any): boolean => {
    // 检查匹配的路由记录中是否有动态段
    return view.matched.some((m: RouteRecordNormalized) => m.path.includes(':'));
  };
  return {
    visitedViews,
    cachedViews,