From a4d7e70db85538ef3805210e5e4e3770f9e4f2cf Mon Sep 17 00:00:00 2001 From: daiwei Date: Mon, 29 Sep 2025 16:40:13 +0800 Subject: [PATCH] chore: update --- packages/runtime-vapor/src/component.ts | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/packages/runtime-vapor/src/component.ts b/packages/runtime-vapor/src/component.ts index d7e9fc5abe..3828d7119c 100644 --- a/packages/runtime-vapor/src/component.ts +++ b/packages/runtime-vapor/src/component.ts @@ -41,7 +41,13 @@ import { setActiveSub, unref, } from '@vue/reactivity' -import { EMPTY_OBJ, invokeArrayFns, isFunction, isString } from '@vue/shared' +import { + EMPTY_OBJ, + invokeArrayFns, + isArray, + isFunction, + isString, +} from '@vue/shared' import { type DynamicPropsSource, type RawProps, @@ -617,8 +623,19 @@ export function mountComponent( startMeasure(instance, `mount`) } if (instance.bm) invokeArrayFns(instance.bm) - insert(instance.block, parent, anchor) - if (!isHydrating) setComponentScopeId(instance) + const block = instance.block + if (isHydrating) { + if ( + !(block instanceof Node) || + (isArray(block) && block.some(b => !(b instanceof Node))) + ) { + insert(block, parent, anchor) + } + } else { + insert(block, parent, anchor) + setComponentScopeId(instance) + } + if (instance.m) queuePostFlushCb(() => invokeArrayFns(instance.m!)) instance.isMounted = true if (__DEV__) { -- 2.47.3