Skip to content

Commit 6798853

Browse files
authored
fix: avoid unexpected cancelled parameter in transition done callback (#14391)
1 parent 4ace79a commit 6798853

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ export function resolveTransitionHooks(
413413
}
414414
}
415415
let called = false
416-
const done = (el[enterCbKey] = (cancelled?) => {
416+
el[enterCbKey] = (cancelled?) => {
417417
if (called) return
418418
called = true
419419
if (cancelled) {
@@ -425,7 +425,8 @@ export function resolveTransitionHooks(
425425
hooks.delayedLeave()
426426
}
427427
el[enterCbKey] = undefined
428-
})
428+
}
429+
const done = el[enterCbKey]!.bind(null, false)
429430
if (hook) {
430431
callAsyncHook(hook, [el, done])
431432
} else {
@@ -443,7 +444,7 @@ export function resolveTransitionHooks(
443444
}
444445
callHook(onBeforeLeave, [el])
445446
let called = false
446-
const done = (el[leaveCbKey] = (cancelled?) => {
447+
el[leaveCbKey] = (cancelled?) => {
447448
if (called) return
448449
called = true
449450
remove()
@@ -456,7 +457,8 @@ export function resolveTransitionHooks(
456457
if (leavingVNodesCache[key] === vnode) {
457458
delete leavingVNodesCache[key]
458459
}
459-
})
460+
}
461+
const done = el[leaveCbKey]!.bind(null, false)
460462
leavingVNodesCache[key] = vnode
461463
if (onLeave) {
462464
callAsyncHook(onLeave, [el, done])

0 commit comments

Comments
 (0)