From 542e4012c1c8496ea6fc1b3aeda94aa17f05a511 Mon Sep 17 00:00:00 2001 From: daiwei Date: Thu, 19 Jun 2025 14:41:06 +0800 Subject: [PATCH] fix: mark single root for transition block --- packages/runtime-vapor/src/components/Transition.ts | 5 +++++ packages/runtime-vapor/src/components/TransitionGroup.ts | 1 + 2 files changed, 6 insertions(+) diff --git a/packages/runtime-vapor/src/components/Transition.ts b/packages/runtime-vapor/src/components/Transition.ts index 39e34277e..017cb0fd5 100644 --- a/packages/runtime-vapor/src/components/Transition.ts +++ b/packages/runtime-vapor/src/components/Transition.ts @@ -74,6 +74,9 @@ export const VaporTransition: FunctionalVaporComponent = /*@__PURE__*/ decorate( const resolvedAttrs = extend({}, attrs) const child = findTransitionBlock(children) if (child) { + // mark single root + ;(child as any).$root = true + applyFallthroughProps(child, resolvedAttrs) // ensure fallthrough attrs are not happened again in // applyTransitionHooks @@ -189,6 +192,8 @@ export function applyTransitionHooks( // fallthrough attrs if (fallthroughAttrs && instance.hasFallthrough) { + // mark single root + ;(child as any).$root = true applyFallthroughProps(child, instance.attrs) } diff --git a/packages/runtime-vapor/src/components/TransitionGroup.ts b/packages/runtime-vapor/src/components/TransitionGroup.ts index 9f239f708..2eff0e91d 100644 --- a/packages/runtime-vapor/src/components/TransitionGroup.ts +++ b/packages/runtime-vapor/src/components/TransitionGroup.ts @@ -153,6 +153,7 @@ export const VaporTransitionGroup: ObjectVaporComponent = decorate({ insert(slottedBlock, container) // fallthrough attrs if (instance!.hasFallthrough) { + ;(container as any).$root = true renderEffect(() => applyFallthroughProps(container, instance!.attrs)) } return container