mirror of
https://github.com/element-plus/element-plus.git
synced 2026-03-13 07:51:17 +08:00
feat: add resize directive (#2167)
* feat: add resize directive * fix: update
This commit is contained in:
@@ -2,3 +2,4 @@ export { default as ClickOutside } from './click-outside'
|
||||
export { default as RepeatClick } from './repeat-click'
|
||||
export { default as TrapFocus } from './trap-focus'
|
||||
export { default as Mousewheel } from './mousewheel'
|
||||
export { default as Resize } from './resize'
|
||||
|
||||
17
packages/directives/resize/index.ts
Normal file
17
packages/directives/resize/index.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
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
|
||||
Reference in New Issue
Block a user