Pārlūkot izejas kodu

fix(@vben/tabs-ui): modified fixed and unfixed logic, fixed #4640 (#4709)

* fix: modified fixed and unfixed logic, fixed #4640

* fix: modified fixed and unfixed logic, fixed #4640
pingsanddoss 5 mēneši atpakaļ
vecāks
revīzija
f60796f961
1 mainītis faili ar 14 papildinājumiem un 0 dzēšanām
  1. 14 0
      packages/stores/src/modules/tabbar.ts

+ 14 - 0
packages/stores/src/modules/tabbar.ts

@@ -312,6 +312,14 @@ export const useTabbarStore = defineStore('core-tabbar', {
         // this.addTab(tab);
         this.tabs.splice(index, 1, tab);
       }
+      // 过滤固定tabs,后面更改affixTabOrder的值的话可能会有问题,目前行464排序affixTabs没有设置值
+      const affixTabs = this.tabs.filter((tab) => isAffixTab(tab));
+      // 获得固定tabs的index
+      const newIndex = affixTabs.findIndex(
+        (item) => getTabPath(item) === getTabPath(tab),
+      );
+      // 交换位置重新排序
+      await this.sortTabs(index, newIndex);
     },
 
     /**
@@ -419,6 +427,12 @@ export const useTabbarStore = defineStore('core-tabbar', {
         // this.addTab(tab);
         this.tabs.splice(index, 1, tab);
       }
+      // 过滤固定tabs,后面更改affixTabOrder的值的话可能会有问题,目前行464排序affixTabs没有设置值
+      const affixTabs = this.tabs.filter((tab) => isAffixTab(tab));
+      // 获得固定tabs的index,使用固定tabs的下一个位置也就是活动tabs的第一个位置
+      const newIndex = affixTabs.length;
+      // 交换位置重新排序
+      await this.sortTabs(index, newIndex);
     },
 
     /**