From b2c919b67305e3ee658fee52e8dda1c38b1aff93 Mon Sep 17 00:00:00 2001 From: Soybean Date: Mon, 27 Oct 2025 17:50:57 +0800 Subject: [PATCH] feat(global-tab): add support for switching tabs with right mouse button click --- src/layouts/modules/global-tab/index.vue | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/layouts/modules/global-tab/index.vue b/src/layouts/modules/global-tab/index.vue index 0be378e8..5e3c92dc 100644 --- a/src/layouts/modules/global-tab/index.vue +++ b/src/layouts/modules/global-tab/index.vue @@ -27,6 +27,7 @@ const isPCFlag = isPC(); const TAB_DATA_ID = 'data-tab-id'; const MIDDLE_MOUSE_BUTTON = 1; +const RIGHT_MOUSE_BUTTON = 2; type TabNamedNodeMap = NamedNodeMap & { [TAB_DATA_ID]: Attr; @@ -99,6 +100,12 @@ function handleMousedown(e: MouseEvent, tab: App.Global.Tab) { handleCloseTab(tab); } +function switchTab(e: MouseEvent, tab: App.Global.Tab) { + if ([MIDDLE_MOUSE_BUTTON, RIGHT_MOUSE_BUTTON].includes(e.button)) return; + + tabStore.switchRouteByTab(tab); +} + async function refresh() { appStore.reloadPage(500); } @@ -197,7 +204,7 @@ init(); :active="tab.id === tabStore.activeTabId" :active-color="themeStore.themeColor" :closable="!tabStore.isTabRetain(tab.id)" - @pointerdown="tabStore.switchRouteByTab(tab)" + @pointerdown="switchTab($event, tab)" @mousedown="handleMousedown($event, tab)" @close="handleCloseTab(tab)" @contextmenu="handleContextMenu($event, tab.id)"