mirror of
https://gitee.com/element-plus/element-plus.git
synced 2024-12-14 09:20:51 +08:00
14e184531c
and fix docs copy close #3313
25 lines
558 B
TypeScript
25 lines
558 B
TypeScript
import {
|
|
addResizeListener,
|
|
removeResizeListener,
|
|
} from '@element-plus/utils/resize-event'
|
|
|
|
import type { ObjectDirective, DirectiveBinding } from 'vue'
|
|
|
|
declare interface ResizeEl extends HTMLElement {
|
|
_handleResize?: () => void
|
|
}
|
|
|
|
const Resize: ObjectDirective = {
|
|
beforeMount(el: ResizeEl, binding: DirectiveBinding) {
|
|
el._handleResize = () => {
|
|
el && binding.value?.(el)
|
|
}
|
|
addResizeListener(el, el._handleResize)
|
|
},
|
|
beforeUnmount(el: ResizeEl) {
|
|
removeResizeListener(el, el._handleResize)
|
|
},
|
|
}
|
|
|
|
export default Resize
|