diff --git a/src/store/modules/tab/index.ts b/src/store/modules/tab/index.ts index 78aaac69..61bf3afa 100644 --- a/src/store/modules/tab/index.ts +++ b/src/store/modules/tab/index.ts @@ -100,7 +100,12 @@ export const useTabStore = defineStore(SetupStoreId.Tab, () => { const removedTabRouteKey = tabs.value[removeTabIndex].routeKey; const isRemoveActiveTab = activeTabId.value === tabId; - const nextTab = tabs.value[removeTabIndex + 1] || homeTab.value; + + // if remove the last tab, then switch to the second last tab + const isLastTab = removeTabIndex === tabs.value.length - 1; + const nextTab = isLastTab + ? tabs.value[removeTabIndex - 1] || homeTab.value + : tabs.value[removeTabIndex + 1] || homeTab.value; // remove tab tabs.value.splice(removeTabIndex, 1);