chore: use useEventListener

This commit is contained in:
chenjiahan 2020-09-12 21:06:11 +08:00
parent 977b14cce8
commit c2135d4151
4 changed files with 29 additions and 11 deletions

View File

@ -4,9 +4,9 @@ import { ref, provide, reactive, computed } from 'vue';
import { createNamespace, isDef } from '../utils'; import { createNamespace, isDef } from '../utils';
// Composition // Composition
import { useEventListener } from '@vant/use';
import { useRect } from '../composition/use-rect'; import { useRect } from '../composition/use-rect';
import { useScroller } from '../composition/use-scroller'; import { useScroller } from '../composition/use-scroller';
import { useGlobalEvent } from '../composition/use-global-event';
import { useClickOutside } from '../composition/use-click-outside'; import { useClickOutside } from '../composition/use-click-outside';
const [createComponent, bem] = createNamespace('dropdown-menu'); const [createComponent, bem] = createNamespace('dropdown-menu');
@ -121,10 +121,14 @@ export default createComponent({
callback: onClickOutside, callback: onClickOutside,
}); });
useGlobalEvent(scroller, 'scroll', () => { useEventListener({
if (opened.value) { type: 'scroll',
updateOffset(); target: scroller,
} listener() {
if (opened.value) {
updateOffset();
}
},
}); });
return () => ( return () => (

View File

@ -12,10 +12,10 @@ import {
} from '../utils/dom/scroll'; } from '../utils/dom/scroll';
// Composition // Composition
import { useEventListener } from '@vant/use';
import { useRect } from '../composition/use-rect'; import { useRect } from '../composition/use-rect';
import { useTouch } from '../composition/use-touch'; import { useTouch } from '../composition/use-touch';
import { useScroller } from '../composition/use-scroller'; import { useScroller } from '../composition/use-scroller';
import { useGlobalEvent } from '../composition/use-global-event';
export const INDEX_BAR_KEY = 'vanIndexBar'; 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( watch(
() => props.indexList, () => props.indexList,

View File

@ -5,10 +5,10 @@ import { createNamespace } from '../utils';
import { isHidden } from '../utils/dom/style'; import { isHidden } from '../utils/dom/style';
// Composition // Composition
import { useEventListener } from '@vant/use';
import { useRect } from '../composition/use-rect'; import { useRect } from '../composition/use-rect';
import { useScroller } from '../composition/use-scroller'; import { useScroller } from '../composition/use-scroller';
import { usePublicApi } from '../composition/use-public-api'; import { usePublicApi } from '../composition/use-public-api';
import { useGlobalEvent } from '../composition/use-global-event';
// Components // Components
import Loading from '../loading'; import Loading from '../loading';
@ -142,7 +142,12 @@ export default createComponent({
}); });
usePublicApi({ check }); usePublicApi({ check });
useGlobalEvent(scroller, 'scroll', check);
useEventListener({
type: 'scroll',
target: scroller,
listener: check,
});
return () => { return () => {
const Content = slots.default?.(); const Content = slots.default?.();

View File

@ -7,8 +7,8 @@ import { createNamespace } from '../utils';
import { getScrollTop, getElementTop } from '../utils/dom/scroll'; import { getScrollTop, getElementTop } from '../utils/dom/scroll';
// Composition // Composition
import { useEventListener } from '@vant/use';
import { useScroller } from '../composition/use-scroller'; import { useScroller } from '../composition/use-scroller';
import { useGlobalEvent } from '../composition/use-global-event';
import { useVisibilityChange } from '../composition/use-visibility-change'; import { useVisibilityChange } from '../composition/use-visibility-change';
const [createComponent, bem] = createNamespace('sticky'); const [createComponent, bem] = createNamespace('sticky');
@ -101,7 +101,12 @@ export default createComponent({
emitScrollEvent(scrollTop); emitScrollEvent(scrollTop);
}; };
useGlobalEvent(scroller, 'scroll', onScroll); useEventListener({
type: 'scroll',
target: scroller,
listener: onScroll,
});
useVisibilityChange(rootRef, onScroll); useVisibilityChange(rootRef, onScroll);
return () => { return () => {