From: daiwei Date: Mon, 29 Sep 2025 08:40:13 +0000 (+0800) Subject: chore: update X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a4d7e70db85538ef3805210e5e4e3770f9e4f2cf;p=thirdparty%2Fvuejs%2Fcore.git chore: update --- 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__) {