From ba10f90dde2acff2307e2b0653a219a899ca8fc3 Mon Sep 17 00:00:00 2001 From: shenmo Date: Sun, 12 Apr 2026 21:30:33 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=BB=9A=E5=8A=A8):=20=E4=B8=BA=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E7=BB=84=E4=BB=B6=E6=B7=BB=E5=8A=A0overscroll-contain?= =?UTF-8?q?=E5=B9=B6=E5=A4=84=E7=90=86=E6=BB=9A=E8=BD=AE=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为多个模态框和列表组件添加overscroll-contain类以防止滚动链 添加处理函数阻止模态框背景的滚轮事件传播到内容区域 --- src/components/AppDetailModal.vue | 6 +++--- src/components/DownloadDetail.vue | 7 +++++++ src/components/UpdateCenterModal.vue | 7 +++++++ src/components/update-center/UpdateCenterList.vue | 2 +- src/components/update-center/UpdateCenterLogPanel.vue | 2 +- 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/components/AppDetailModal.vue b/src/components/AppDetailModal.vue index fd330b78..9f62e2de 100644 --- a/src/components/AppDetailModal.vue +++ b/src/components/AppDetailModal.vue @@ -14,7 +14,7 @@ @click.self="closeModal" > @@ -351,7 +351,7 @@ 应用信息
应用名称 diff --git a/src/components/DownloadDetail.vue b/src/components/DownloadDetail.vue index f449d995..ce6cfc39 100644 --- a/src/components/DownloadDetail.vue +++ b/src/components/DownloadDetail.vue @@ -11,6 +11,7 @@ v-if="show" class="fixed inset-0 z-50 flex items-start justify-center bg-slate-900/70 px-4 py-10" @click="handleOverlayClick" + @wheel="onOverlayWheel" >
{ const downloadProgress = computed(() => { return props.download ? Math.floor(props.download.progress * 100) : 0; }); + +const onOverlayWheel = (e: WheelEvent) => { + const target = e.target as HTMLElement; + if (target.closest(".overflow-y-auto, .overflow-auto")) return; + e.preventDefault(); +}; diff --git a/src/components/UpdateCenterModal.vue b/src/components/UpdateCenterModal.vue index 76ce5a2f..7e08dc7d 100644 --- a/src/components/UpdateCenterModal.vue +++ b/src/components/UpdateCenterModal.vue @@ -10,6 +10,7 @@
(); const selectedCount = computed(() => props.store.getSelectedItems().length); + +const onOverlayWheel = (e: WheelEvent) => { + const target = e.target as HTMLElement; + if (target.closest(".overflow-y-auto, .overflow-auto")) return; + e.preventDefault(); +}; diff --git a/src/components/update-center/UpdateCenterList.vue b/src/components/update-center/UpdateCenterList.vue index 7947177e..f85ce2aa 100644 --- a/src/components/update-center/UpdateCenterList.vue +++ b/src/components/update-center/UpdateCenterList.vue @@ -1,6 +1,6 @@