types: improve directive hook argument types
This commit is contained in:
parent
aa4ab39c1a
commit
be91b43564
@ -28,11 +28,11 @@ export interface DirectiveBinding {
|
||||
dir: ObjectDirective
|
||||
}
|
||||
|
||||
export type DirectiveHook<T = any> = (
|
||||
export type DirectiveHook<T = any, Prev = VNode<any, T> | null> = (
|
||||
el: T,
|
||||
binding: DirectiveBinding,
|
||||
vnode: VNode<any, T>,
|
||||
prevVNode: VNode<any, T> | null
|
||||
prevVNode: Prev
|
||||
) => void
|
||||
|
||||
export type SSRDirectiveHook = (
|
||||
@ -41,12 +41,12 @@ export type SSRDirectiveHook = (
|
||||
) => Data | undefined
|
||||
|
||||
export interface ObjectDirective<T = any> {
|
||||
beforeMount?: DirectiveHook<T>
|
||||
mounted?: DirectiveHook<T>
|
||||
beforeUpdate?: DirectiveHook<T>
|
||||
updated?: DirectiveHook<T>
|
||||
beforeUnmount?: DirectiveHook<T>
|
||||
unmounted?: DirectiveHook<T>
|
||||
beforeMount?: DirectiveHook<T, null>
|
||||
mounted?: DirectiveHook<T, null>
|
||||
beforeUpdate?: DirectiveHook<T, VNode<any, T>>
|
||||
updated?: DirectiveHook<T, VNode<any, T>>
|
||||
beforeUnmount?: DirectiveHook<T, null>
|
||||
unmounted?: DirectiveHook<T, null>
|
||||
getSSRProps?: SSRDirectiveHook
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
import {
|
||||
ObjectDirective,
|
||||
VNode,
|
||||
DirectiveHook,
|
||||
DirectiveBinding,
|
||||
warn
|
||||
} from '@vue/runtime-core'
|
||||
@ -240,7 +241,7 @@ function callModelHook(
|
||||
modelToUse = vModelText
|
||||
}
|
||||
}
|
||||
const fn = modelToUse[hook]
|
||||
const fn = modelToUse[hook] as DirectiveHook
|
||||
fn && fn(el, binding, vnode, prevVNode)
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user