From: edison Date: Thu, 20 Nov 2025 14:03:18 +0000 (+0800) Subject: refactor(transition-group): directly returns slotted block instead of wrapping it... X-Git-Tag: v3.6.0-alpha.5~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e0ac500b55d8b96d88ab8959aa3bca8cc13c2d4d;p=thirdparty%2Fvuejs%2Fcore.git refactor(transition-group): directly returns slotted block instead of wrapping it in DynamicFragment. (#14122) --- diff --git a/packages/runtime-vapor/src/apiCreateFor.ts b/packages/runtime-vapor/src/apiCreateFor.ts index f4a636d775..424e892c89 100644 --- a/packages/runtime-vapor/src/apiCreateFor.ts +++ b/packages/runtime-vapor/src/apiCreateFor.ts @@ -133,7 +133,7 @@ export const createFor = ( // trigger TransitionGroup update hooks const transitionHooks = frag.$transition - if (transitionHooks && transitionHooks.group) { + if (transitionHooks && transitionHooks.group && isMounted) { triggerTransitionGroupUpdate(transitionHooks) } diff --git a/packages/runtime-vapor/src/components/TransitionGroup.ts b/packages/runtime-vapor/src/components/TransitionGroup.ts index 48dab60321..af3b8abf75 100644 --- a/packages/runtime-vapor/src/components/TransitionGroup.ts +++ b/packages/runtime-vapor/src/components/TransitionGroup.ts @@ -36,7 +36,7 @@ import { import { isForBlock } from '../apiCreateFor' import { renderEffect } from '../renderEffect' import { createElement } from '../dom/node' -import { DynamicFragment, isFragment } from '../fragment' +import { isFragment } from '../fragment' const positionMap = new WeakMap() const newPositionMap = new WeakMap() @@ -160,11 +160,7 @@ export const VaporTransitionGroup: ObjectVaporComponent = decorate({ } return container } else { - const frag = __DEV__ - ? new DynamicFragment('transition-group') - : new DynamicFragment() - renderEffect(() => frag.update(() => slottedBlock)) - return frag + return slottedBlock } }, })