File tree 1 file changed +8
-0
lines changed
packages/runtime-dom/src/components
1 file changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -174,7 +174,10 @@ export function resolveTransitionProps(
174
174
done && done ( )
175
175
}
176
176
177
+ let isLeaving = false
177
178
const finishLeave = ( el : Element , done ?: ( ) => void ) => {
179
+ isLeaving = false
180
+ removeTransitionClass ( el , leaveFromClass )
178
181
removeTransitionClass ( el , leaveToClass )
179
182
removeTransitionClass ( el , leaveActiveClass )
180
183
done && done ( )
@@ -221,6 +224,7 @@ export function resolveTransitionProps(
221
224
onEnter : makeEnterHook ( false ) ,
222
225
onAppear : makeEnterHook ( true ) ,
223
226
onLeave ( el , done ) {
227
+ isLeaving = true
224
228
const resolve = ( ) => finishLeave ( el , done )
225
229
addTransitionClass ( el , leaveFromClass )
226
230
if ( __COMPAT__ && legacyClassEnabled ) {
@@ -230,6 +234,10 @@ export function resolveTransitionProps(
230
234
forceReflow ( )
231
235
addTransitionClass ( el , leaveActiveClass )
232
236
nextFrame ( ( ) => {
237
+ if ( ! isLeaving ) {
238
+ // cancelled
239
+ return
240
+ }
233
241
removeTransitionClass ( el , leaveFromClass )
234
242
if ( __COMPAT__ && legacyClassEnabled ) {
235
243
removeTransitionClass ( el , legacyLeaveFromClass )
You can’t perform that action at this time.
0 commit comments