From ccfb93d019afe51d48cfb9e76d09421efaa1a6f0 Mon Sep 17 00:00:00 2001 From: Baobhan Sith <80159437+Heavrnl@users.noreply.github.com> Date: Sun, 11 May 2025 22:03:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E9=BC=A0=E6=A0=87?= =?UTF-8?q?=E6=BB=9A=E8=BD=AE=E6=B0=B4=E5=B9=B3=E6=BB=9A=E5=8A=A8=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=88=B0=E7=BB=88=E7=AB=AF=E6=A0=87=E7=AD=BE=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/TerminalTabBar.vue | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packages/frontend/src/components/TerminalTabBar.vue b/packages/frontend/src/components/TerminalTabBar.vue index 52590e5..06080c8 100644 --- a/packages/frontend/src/components/TerminalTabBar.vue +++ b/packages/frontend/src/components/TerminalTabBar.vue @@ -362,6 +362,32 @@ const handleTouchEnd = (event: TouchEvent) => { } touchedSessionId = null; }; + // 处理鼠标滚轮事件以支持水平滚动 +const handleWheel: EventListener = (event: Event) => { + const wheelEvent = event as WheelEvent; + const container = wheelEvent.currentTarget as HTMLElement; + if (container) { + // 根据滚轮方向调整水平滚动位置 + container.scrollLeft += wheelEvent.deltaY > 0 ? 50 : -50; + wheelEvent.preventDefault(); // 阻止默认的垂直滚动 + } +}; + +// 在组件挂载时添加滚轮事件监听 +onMounted(() => { + const tabContainer = document.querySelector('.overflow-x-auto'); + if (tabContainer) { + tabContainer.addEventListener('wheel', handleWheel as EventListener, { passive: false }); + } +}); + +// 在组件卸载时移除滚轮事件监听 +onBeforeUnmount(() => { + const tabContainer = document.querySelector('.overflow-x-auto'); + if (tabContainer) { + tabContainer.removeEventListener('wheel', handleWheel as EventListener); + } +});