Files
element-plus/packages/components/popover/src/directive.ts

22 lines
544 B
TypeScript

import type { DirectiveBinding, ObjectDirective } from 'vue'
import type { PopoverInstance } from './popover'
const attachEvents = (el: HTMLElement, binding: DirectiveBinding) => {
const popperComponent: PopoverInstance = binding.arg || binding.value
const popover = popperComponent?.popperRef
if (popover) {
popover.triggerRef = el
}
}
export default {
mounted(el, binding) {
attachEvents(el, binding)
},
updated(el, binding) {
attachEvents(el, binding)
},
} as ObjectDirective
export const VPopover = 'popover'