diff --git a/packages/runtime-core/src/vnode.ts b/packages/runtime-core/src/vnode.ts index a8c5340cd1f..52be518e2ac 100644 --- a/packages/runtime-core/src/vnode.ts +++ b/packages/runtime-core/src/vnode.ts @@ -806,7 +806,8 @@ export function normalizeVNode(child: VNodeChild): VNode { // optimized normalization for template-compiled render fns export function cloneIfMounted(child: VNode): VNode { return (child.el === null && child.patchFlag !== PatchFlags.CACHED) || - child.memo + child.memo || + (child.el !== null && child.patchFlag !== PatchFlags.CACHED && !child.memo) ? child : cloneVNode(child) }