]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(transition): transition should accept multiple handlers on same event
authorEvan You <yyx990803@gmail.com>
Thu, 6 Aug 2020 14:28:03 +0000 (10:28 -0400)
committerEvan You <yyx990803@gmail.com>
Thu, 6 Aug 2020 14:28:03 +0000 (10:28 -0400)
fix #1746

packages/runtime-core/src/components/BaseTransition.ts

index 666b13dc204761837295060fe1144ba26e63ca25..3ca38498d9b2991cb4de219d6d5f9140b2af143f 100644 (file)
@@ -105,6 +105,8 @@ export function useTransitionState(): TransitionState {
   return state
 }
 
+const TransitionHookValidator = [Function, Array]
+
 const BaseTransitionImpl = {
   name: `BaseTransition`,
 
@@ -113,20 +115,20 @@ const BaseTransitionImpl = {
     appear: Boolean,
     persisted: Boolean,
     // enter
-    onBeforeEnter: Function,
-    onEnter: Function,
-    onAfterEnter: Function,
-    onEnterCancelled: Function,
+    onBeforeEnter: TransitionHookValidator,
+    onEnter: TransitionHookValidator,
+    onAfterEnter: TransitionHookValidator,
+    onEnterCancelled: TransitionHookValidator,
     // leave
-    onBeforeLeave: Function,
-    onLeave: Function,
-    onAfterLeave: Function,
-    onLeaveCancelled: Function,
+    onBeforeLeave: TransitionHookValidator,
+    onLeave: TransitionHookValidator,
+    onAfterLeave: TransitionHookValidator,
+    onLeaveCancelled: TransitionHookValidator,
     // appear
-    onBeforeAppear: Function,
-    onAppear: Function,
-    onAfterAppear: Function,
-    onAppearCancelled: Function
+    onBeforeAppear: TransitionHookValidator,
+    onAppear: TransitionHookValidator,
+    onAfterAppear: TransitionHookValidator,
+    onAppearCancelled: TransitionHookValidator
   },
 
   setup(props: BaseTransitionProps, { slots }: SetupContext) {