UNPKG

@hanxx/vue-hooks

Version:
22 lines (21 loc) 656 B
import { onMounted, onUnmounted, ref } from '@vue/composition-api'; export default function useClickAway(onClickAway, dom, eventName) { if (eventName === void 0) { eventName = 'click'; } var element = dom || ref(null); var handler = function (event) { // @ts-ignore if (!element.value || element.value.contains(event.target)) { return; } onClickAway(event); }; onMounted(function () { document.addEventListener(eventName, handler); }); onUnmounted(function () { document.removeEventListener(eventName, handler); }); return { element: element, }; }