]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(compat): fix custom transition classes in compat mode (#7435)
authorRené Koller <SxDx@users.noreply.github.com>
Wed, 1 Feb 2023 08:21:50 +0000 (09:21 +0100)
committerGitHub <noreply@github.com>
Wed, 1 Feb 2023 08:21:50 +0000 (03:21 -0500)
fix #6253

packages/runtime-dom/src/components/Transition.ts

index a331c53c2352e372df5d28fe4dc2cbb1c0c7af00..fb2cbe0ce1caaafbe7436b74149008c9c96e6f20 100644 (file)
@@ -195,10 +195,12 @@ export function resolveTransitionProps(
       nextFrame(() => {
         removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass)
         if (__COMPAT__ && legacyClassEnabled) {
-          removeTransitionClass(
-            el,
-            isAppear ? legacyAppearFromClass : legacyEnterFromClass
-          )
+          const legacyClass = isAppear
+            ? legacyAppearFromClass
+            : legacyEnterFromClass
+          if (legacyClass) {
+            removeTransitionClass(el, legacyClass)
+          }
         }
         addTransitionClass(el, isAppear ? appearToClass : enterToClass)
         if (!hasExplicitCallback(hook)) {
@@ -212,7 +214,7 @@ export function resolveTransitionProps(
     onBeforeEnter(el) {
       callHook(onBeforeEnter, [el])
       addTransitionClass(el, enterFromClass)
-      if (__COMPAT__ && legacyClassEnabled) {
+      if (__COMPAT__ && legacyClassEnabled && legacyEnterFromClass) {
         addTransitionClass(el, legacyEnterFromClass)
       }
       addTransitionClass(el, enterActiveClass)
@@ -220,7 +222,7 @@ export function resolveTransitionProps(
     onBeforeAppear(el) {
       callHook(onBeforeAppear, [el])
       addTransitionClass(el, appearFromClass)
-      if (__COMPAT__ && legacyClassEnabled) {
+      if (__COMPAT__ && legacyClassEnabled && legacyAppearFromClass) {
         addTransitionClass(el, legacyAppearFromClass)
       }
       addTransitionClass(el, appearActiveClass)
@@ -231,7 +233,7 @@ export function resolveTransitionProps(
       el._isLeaving = true
       const resolve = () => finishLeave(el, done)
       addTransitionClass(el, leaveFromClass)
-      if (__COMPAT__ && legacyClassEnabled) {
+      if (__COMPAT__ && legacyClassEnabled && legacyLeaveFromClass) {
         addTransitionClass(el, legacyLeaveFromClass)
       }
       // force reflow so *-leave-from classes immediately take effect (#2593)
@@ -243,7 +245,7 @@ export function resolveTransitionProps(
           return
         }
         removeTransitionClass(el, leaveFromClass)
-        if (__COMPAT__ && legacyClassEnabled) {
+        if (__COMPAT__ && legacyClassEnabled && legacyLeaveFromClass) {
           removeTransitionClass(el, legacyLeaveFromClass)
         }
         addTransitionClass(el, leaveToClass)