From 6b7ae0f6a03c3554b159f3e876844357bd7c959d Mon Sep 17 00:00:00 2001 From: neverland Date: Sun, 21 Aug 2022 17:49:48 +0800 Subject: [PATCH] types(@vant/use): improve useEventListener typing (#10952) --- packages/vant-use/src/useEventListener/index.ts | 15 ++++++++++++++- packages/vant/src/pull-refresh/PullRefresh.tsx | 4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/packages/vant-use/src/useEventListener/index.ts b/packages/vant-use/src/useEventListener/index.ts index 01f6d1c8e..ffd4dfe08 100644 --- a/packages/vant-use/src/useEventListener/index.ts +++ b/packages/vant-use/src/useEventListener/index.ts @@ -10,6 +10,16 @@ export type UseEventListenerOptions = { passive?: boolean; }; +export function useEventListener( + type: K, + listener: (event: DocumentEventMap[K]) => void, + options?: UseEventListenerOptions +): void; +export function useEventListener( + type: string, + listener: EventListener, + options?: UseEventListenerOptions +): void; export function useEventListener( type: string, listener: EventListener, @@ -27,7 +37,10 @@ export function useEventListener( const element = unref(target); if (element && !attached) { - element.addEventListener(type, listener, { capture, passive }); + element.addEventListener(type, listener, { + capture, + passive, + }); attached = true; } }; diff --git a/packages/vant/src/pull-refresh/PullRefresh.tsx b/packages/vant/src/pull-refresh/PullRefresh.tsx index 29f36af63..e1b2c749b 100644 --- a/packages/vant/src/pull-refresh/PullRefresh.tsx +++ b/packages/vant/src/pull-refresh/PullRefresh.tsx @@ -222,11 +222,11 @@ export default defineComponent({ ); // add passive option to avoid Chrome warning - useEventListener('touchstart', onTouchStart as EventListener, { + useEventListener('touchstart', onTouchStart, { target: track, passive: true, }); - useEventListener('touchmove', onTouchMove as EventListener, { + useEventListener('touchmove', onTouchMove, { target: track, });