Skip to content

Commit ec2fcec

Browse files
committed
chore: clean oldInnerChild
1 parent ced1ed4 commit ec2fcec

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

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

+10-2
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ const BaseTransitionImpl: ComponentOptions = {
208208
!isSameVNodeType(innerChild, oldInnerChild) &&
209209
recursiveGetSubtree(instance).type !== Comment
210210
) {
211-
const leavingHooks = resolveTransitionHooks(
211+
let leavingHooks = resolveTransitionHooks(
212212
oldInnerChild,
213213
rawProps,
214214
state,
@@ -228,6 +228,7 @@ const BaseTransitionImpl: ComponentOptions = {
228228
instance.update()
229229
}
230230
delete leavingHooks.afterLeave
231+
oldInnerChild = undefined
231232
}
232233
return emptyPlaceholder(child)
233234
} else if (mode === 'in-out' && innerChild.type !== Comment) {
@@ -246,9 +247,16 @@ const BaseTransitionImpl: ComponentOptions = {
246247
earlyRemove()
247248
el[leaveCbKey] = undefined
248249
delete enterHooks.delayedLeave
250+
oldInnerChild = undefined
251+
}
252+
enterHooks.delayedLeave = () => {
253+
delayedLeave()
254+
delete enterHooks.delayedLeave
255+
oldInnerChild = undefined
249256
}
250-
enterHooks.delayedLeave = delayedLeave
251257
}
258+
} else {
259+
oldInnerChild = undefined
252260
}
253261
} else if (oldInnerChild) {
254262
oldInnerChild = undefined

0 commit comments

Comments
 (0)