From c2135d4151bd4d83c9f22d960ae2e533d771f3a8 Mon Sep 17 00:00:00 2001 From: chenjiahan Date: Sat, 12 Sep 2020 21:06:11 +0800 Subject: [PATCH] chore: use useEventListener --- src/dropdown-menu/index.js | 14 +++++++++----- src/index-bar/index.js | 8 ++++++-- src/list/index.js | 9 +++++++-- src/sticky/index.js | 9 +++++++-- 4 files changed, 29 insertions(+), 11 deletions(-) diff --git a/src/dropdown-menu/index.js b/src/dropdown-menu/index.js index a8e9f0ad3..ca2109d3a 100644 --- a/src/dropdown-menu/index.js +++ b/src/dropdown-menu/index.js @@ -4,9 +4,9 @@ import { ref, provide, reactive, computed } from 'vue'; import { createNamespace, isDef } from '../utils'; // Composition +import { useEventListener } from '@vant/use'; import { useRect } from '../composition/use-rect'; import { useScroller } from '../composition/use-scroller'; -import { useGlobalEvent } from '../composition/use-global-event'; import { useClickOutside } from '../composition/use-click-outside'; const [createComponent, bem] = createNamespace('dropdown-menu'); @@ -121,10 +121,14 @@ export default createComponent({ callback: onClickOutside, }); - useGlobalEvent(scroller, 'scroll', () => { - if (opened.value) { - updateOffset(); - } + useEventListener({ + type: 'scroll', + target: scroller, + listener() { + if (opened.value) { + updateOffset(); + } + }, }); return () => ( diff --git a/src/index-bar/index.js b/src/index-bar/index.js index b26de97af..c75ba013e 100644 --- a/src/index-bar/index.js +++ b/src/index-bar/index.js @@ -12,10 +12,10 @@ import { } from '../utils/dom/scroll'; // Composition +import { useEventListener } from '@vant/use'; import { useRect } from '../composition/use-rect'; import { useTouch } from '../composition/use-touch'; import { useScroller } from '../composition/use-scroller'; -import { useGlobalEvent } from '../composition/use-global-event'; export const INDEX_BAR_KEY = 'vanIndexBar'; @@ -156,7 +156,11 @@ export default createComponent({ } }; - useGlobalEvent(scroller, 'scroll', onScroll); + useEventListener({ + type: 'scroll', + target: scroller, + listener: onScroll, + }); watch( () => props.indexList, diff --git a/src/list/index.js b/src/list/index.js index 06c3e4944..208b10c32 100644 --- a/src/list/index.js +++ b/src/list/index.js @@ -5,10 +5,10 @@ import { createNamespace } from '../utils'; import { isHidden } from '../utils/dom/style'; // Composition +import { useEventListener } from '@vant/use'; import { useRect } from '../composition/use-rect'; import { useScroller } from '../composition/use-scroller'; import { usePublicApi } from '../composition/use-public-api'; -import { useGlobalEvent } from '../composition/use-global-event'; // Components import Loading from '../loading'; @@ -142,7 +142,12 @@ export default createComponent({ }); usePublicApi({ check }); - useGlobalEvent(scroller, 'scroll', check); + + useEventListener({ + type: 'scroll', + target: scroller, + listener: check, + }); return () => { const Content = slots.default?.(); diff --git a/src/sticky/index.js b/src/sticky/index.js index 04e516576..1e41c11e9 100644 --- a/src/sticky/index.js +++ b/src/sticky/index.js @@ -7,8 +7,8 @@ import { createNamespace } from '../utils'; import { getScrollTop, getElementTop } from '../utils/dom/scroll'; // Composition +import { useEventListener } from '@vant/use'; import { useScroller } from '../composition/use-scroller'; -import { useGlobalEvent } from '../composition/use-global-event'; import { useVisibilityChange } from '../composition/use-visibility-change'; const [createComponent, bem] = createNamespace('sticky'); @@ -101,7 +101,12 @@ export default createComponent({ emitScrollEvent(scrollTop); }; - useGlobalEvent(scroller, 'scroll', onScroll); + useEventListener({ + type: 'scroll', + target: scroller, + listener: onScroll, + }); + useVisibilityChange(rootRef, onScroll); return () => {