From: daiwei Date: Wed, 30 Jul 2025 10:23:07 +0000 (+0800) Subject: fix: preserve current hydration node during slot insertion X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a6e039865e12ea9bd1baa80c98167def9cba7d53;p=thirdparty%2Fvuejs%2Fcore.git fix: preserve current hydration node during slot insertion --- diff --git a/packages/runtime-vapor/src/component.ts b/packages/runtime-vapor/src/component.ts index a74f690b34..f8980f9ac0 100644 --- a/packages/runtime-vapor/src/component.ts +++ b/packages/runtime-vapor/src/component.ts @@ -568,12 +568,19 @@ export function createComponentWithFallback( } if (rawSlots) { - isHydrating && setCurrentHydrationNode(el.firstChild) + let prev: Node + if (isHydrating) { + prev = currentHydrationNode! + setCurrentHydrationNode(el.firstChild) + } if (rawSlots.$) { // TODO dynamic slot fragment } else { insert(getSlot(rawSlots as RawSlots, 'default')!(), el) } + if (isHydrating) { + setCurrentHydrationNode(prev!) + } } if (!isHydrating && _insertionParent) {