UNPKG

@opensig/opendesign

Version:

<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>

38 lines (37 loc) 972 B
import { ref, onMounted, onUnmounted } from "vue"; import { trigger } from "../_utils/event.mjs"; function useComposition({ el } = {}) { const isComposing = ref(false); const onCompositionStart = () => { isComposing.value = true; }; const onCompositionEnd = (e) => { if (!isComposing.value) { return; } isComposing.value = false; trigger(e.target, "input"); }; onMounted(() => { if (!(el == null ? void 0 : el.value)) { return; } el.value.addEventListener("compositionstart", onCompositionStart); el.value.addEventListener("compositionend", onCompositionEnd); }); onUnmounted(() => { if (!(el == null ? void 0 : el.value)) { return; } el.value.removeEventListener("compositionstart", onCompositionStart); el.value.removeEventListener("compositionend", onCompositionEnd); }); return { isComposing, onCompositionStart, onCompositionEnd }; } export { useComposition };