From 27682b980c27e651616da047bb5dba0e09261cf6 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Sat, 3 May 2025 21:14:59 +0900 Subject: [PATCH] tweak MkPullToRefresh.vue --- packages/frontend/src/components/MkPullToRefresh.vue | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/frontend/src/components/MkPullToRefresh.vue b/packages/frontend/src/components/MkPullToRefresh.vue index 02f13a2295..8d411595fd 100644 --- a/packages/frontend/src/components/MkPullToRefresh.vue +++ b/packages/frontend/src/components/MkPullToRefresh.vue @@ -64,13 +64,15 @@ function getScreenY(event: TouchEvent | MouseEvent | PointerEvent): number { // When at the top of the page, disable vertical overscroll so passive touch listeners can take over. function lockDownScroll() { - scrollEl!.style.touchAction = 'pan-x pan-down pinch-zoom'; - scrollEl!.style.overscrollBehavior = 'none'; + if (scrollEl == null) return; + scrollEl.style.touchAction = 'pan-x pan-down pinch-zoom'; + scrollEl.style.overscrollBehavior = 'none'; } function unlockDownScroll() { - scrollEl!.style.touchAction = 'auto'; - scrollEl!.style.overscrollBehavior = 'contain'; + if (scrollEl == null) return; + scrollEl.style.touchAction = 'auto'; + scrollEl.style.overscrollBehavior = 'contain'; } function moveStart(event: PointerEvent) { @@ -211,6 +213,7 @@ onMounted(() => { }); onUnmounted(() => { + unlockDownScroll(); if (rootEl.value) rootEl.value.removeEventListener('pointerdown', moveStart); if (rootEl.value) rootEl.value.removeEventListener('touchend', toggleScrollLockOnTouchEnd); });