import Vue from 'vue'; import popover from './popover.vue'; import {calcTipPosition} from './utils' // import CalcTargetPosition from '../static/utils/CalcTargetPosition' // import {zIndexIncrease, zIndex} from './dispatchZindex' const PopoverExtend=Vue.extend(popover); // 继承Vue let PopoverVm = null const createPopover= (options) => { let {tag, props}=options; let pos=tag.getBoundingClientRect(); // 根据当前点击的dom对象获取位置 props.pos = pos PopoverVm = new PopoverExtend({data:props}) PopoverVm = PopoverVm.$mount() const bodyDom = document.body bodyDom.appendChild(PopoverVm.$el) return PopoverVm } createPopover.resetPosition = (pDom,tDom, leftW, tipPlace, border) => { return calcTipPosition(pDom, tDom, leftW, tipPlace, border) } createPopover.remove=(vm) => { if (!vm) return; if (vm._isDestroyed) return; vm.$destroy(); const dom=vm.$el; if (dom) dom.parentNode.removeChild(dom); } export default createPopover