diff --git a/packages/runtime-core/src/vnode.ts b/packages/runtime-core/src/vnode.ts index 60ea0f718..0a2543a70 100644 --- a/packages/runtime-core/src/vnode.ts +++ b/packages/runtime-core/src/vnode.ts @@ -510,6 +510,14 @@ function _createVNode( if (children) { normalizeChildren(cloned, children) } + if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) { + if (cloned.shapeFlag & ShapeFlags.COMPONENT) { + currentBlock[currentBlock.indexOf(type)] = cloned + } else { + currentBlock.push(cloned) + } + } + cloned.patchFlag |= PatchFlags.BAIL return cloned }