UNPKG

song-ui-u

Version:

vue3 + js的PC前端组件库

72 lines (69 loc) 1.58 kB
import { ref, getCurrentInstance } from 'vue'; const useEvent = (options = {}) => { let isFocus = ref(false); let isHover = ref(false); let isComposition = ref(false); const { emit } = getCurrentInstance(); const changeEvent = (e) => { emit("change", e); }; const keydownEvent = (e) => { emit("keydown", e); }; const keyupEvent = (e) => { emit("keyup", e); }; const focusEvent = (e) => { isFocus.value = true; emit("focus", e); }; const blurEvent = (e) => { isFocus.value = false; emit("blur", e); options?.afterBlur?.(); }; const mouseenterEvent = (e) => { isHover.value = true; emit("mouseenter", e); }; const mouselevelEvent = (e) => { isHover.value = false; emit("mouselevel", e); }; const compositionStartEvent = (e) => { isComposition.value = true; emit("compositionstart", e); }; const compositionUpdateEvent = (e) => { isComposition.value = true; emit("compositionupdate", e); }; const compositionEndEvent = (e) => { emit("compositionend", e); return new Promise((resolve, reject) => { if (isComposition.value) { isComposition.value = false; resolve(); return false; } reject(); }); }; return { focusEvent, blurEvent, mouseenterEvent, mouselevelEvent, compositionStartEvent, compositionUpdateEvent, compositionEndEvent, changeEvent, keydownEvent, keyupEvent, isFocus, isHover, isComposition }; }; export { useEvent }; //# sourceMappingURL=index.mjs.map