mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-05-20 21:39:15 +08:00
types(@vant/use): improve useEventListener typing (#10952)
This commit is contained in:
parent
cb93bd2da3
commit
6b7ae0f6a0
@ -10,6 +10,16 @@ export type UseEventListenerOptions = {
|
|||||||
passive?: boolean;
|
passive?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export function useEventListener<K extends keyof DocumentEventMap>(
|
||||||
|
type: K,
|
||||||
|
listener: (event: DocumentEventMap[K]) => void,
|
||||||
|
options?: UseEventListenerOptions
|
||||||
|
): void;
|
||||||
|
export function useEventListener(
|
||||||
|
type: string,
|
||||||
|
listener: EventListener,
|
||||||
|
options?: UseEventListenerOptions
|
||||||
|
): void;
|
||||||
export function useEventListener(
|
export function useEventListener(
|
||||||
type: string,
|
type: string,
|
||||||
listener: EventListener,
|
listener: EventListener,
|
||||||
@ -27,7 +37,10 @@ export function useEventListener(
|
|||||||
const element = unref(target);
|
const element = unref(target);
|
||||||
|
|
||||||
if (element && !attached) {
|
if (element && !attached) {
|
||||||
element.addEventListener(type, listener, { capture, passive });
|
element.addEventListener(type, listener, {
|
||||||
|
capture,
|
||||||
|
passive,
|
||||||
|
});
|
||||||
attached = true;
|
attached = true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -222,11 +222,11 @@ export default defineComponent({
|
|||||||
);
|
);
|
||||||
|
|
||||||
// add passive option to avoid Chrome warning
|
// add passive option to avoid Chrome warning
|
||||||
useEventListener('touchstart', onTouchStart as EventListener, {
|
useEventListener('touchstart', onTouchStart, {
|
||||||
target: track,
|
target: track,
|
||||||
passive: true,
|
passive: true,
|
||||||
});
|
});
|
||||||
useEventListener('touchmove', onTouchMove as EventListener, {
|
useEventListener('touchmove', onTouchMove, {
|
||||||
target: track,
|
target: track,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user