Skip to content

Commit efe2efd

Browse files
authored
fix(compat): fix custom transition classes in compat mode (#7435)
fix #6253
1 parent e64c9ae commit efe2efd

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

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

+10-8
Original file line numberDiff line numberDiff line change
@@ -195,10 +195,12 @@ export function resolveTransitionProps(
195195
nextFrame(() => {
196196
removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass)
197197
if (__COMPAT__ && legacyClassEnabled) {
198-
removeTransitionClass(
199-
el,
200-
isAppear ? legacyAppearFromClass : legacyEnterFromClass
201-
)
198+
const legacyClass = isAppear
199+
? legacyAppearFromClass
200+
: legacyEnterFromClass
201+
if (legacyClass) {
202+
removeTransitionClass(el, legacyClass)
203+
}
202204
}
203205
addTransitionClass(el, isAppear ? appearToClass : enterToClass)
204206
if (!hasExplicitCallback(hook)) {
@@ -212,15 +214,15 @@ export function resolveTransitionProps(
212214
onBeforeEnter(el) {
213215
callHook(onBeforeEnter, [el])
214216
addTransitionClass(el, enterFromClass)
215-
if (__COMPAT__ && legacyClassEnabled) {
217+
if (__COMPAT__ && legacyClassEnabled && legacyEnterFromClass) {
216218
addTransitionClass(el, legacyEnterFromClass)
217219
}
218220
addTransitionClass(el, enterActiveClass)
219221
},
220222
onBeforeAppear(el) {
221223
callHook(onBeforeAppear, [el])
222224
addTransitionClass(el, appearFromClass)
223-
if (__COMPAT__ && legacyClassEnabled) {
225+
if (__COMPAT__ && legacyClassEnabled && legacyAppearFromClass) {
224226
addTransitionClass(el, legacyAppearFromClass)
225227
}
226228
addTransitionClass(el, appearActiveClass)
@@ -231,7 +233,7 @@ export function resolveTransitionProps(
231233
el._isLeaving = true
232234
const resolve = () => finishLeave(el, done)
233235
addTransitionClass(el, leaveFromClass)
234-
if (__COMPAT__ && legacyClassEnabled) {
236+
if (__COMPAT__ && legacyClassEnabled && legacyLeaveFromClass) {
235237
addTransitionClass(el, legacyLeaveFromClass)
236238
}
237239
// force reflow so *-leave-from classes immediately take effect (#2593)
@@ -243,7 +245,7 @@ export function resolveTransitionProps(
243245
return
244246
}
245247
removeTransitionClass(el, leaveFromClass)
246-
if (__COMPAT__ && legacyClassEnabled) {
248+
if (__COMPAT__ && legacyClassEnabled && legacyLeaveFromClass) {
247249
removeTransitionClass(el, legacyLeaveFromClass)
248250
}
249251
addTransitionClass(el, leaveToClass)

0 commit comments

Comments
 (0)