element-plus/packages/directives/resize/index.ts
kooriookami 1fe271549e
feat: add resize directive (#2167)
* feat: add resize directive

* fix: update
2021-07-01 09:29:00 +08:00

18 lines
414 B
TypeScript

import { addResizeListener, removeResizeListener } from '@element-plus/utils/resize-event'
import type { ObjectDirective } from 'vue'
const Resize: ObjectDirective = {
beforeMount(el, binding) {
el._handleResize = () => {
el && binding.value?.()
}
addResizeListener(el, el._handleResize)
},
beforeUnmount(el) {
removeResizeListener(el, el._handleResize)
},
}
export default Resize