From 58cf2365e44b487e795687030558190970589de9 Mon Sep 17 00:00:00 2001 From: daiwei Date: Mon, 30 Sep 2024 09:42:40 +0800 Subject: [PATCH] fix(templateRef): delay setting the ref value if wrapped in Suspense --- packages/runtime-core/src/rendererTemplateRef.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/runtime-core/src/rendererTemplateRef.ts b/packages/runtime-core/src/rendererTemplateRef.ts index 1ffe303579..c6da0b14a6 100644 --- a/packages/runtime-core/src/rendererTemplateRef.ts +++ b/packages/runtime-core/src/rendererTemplateRef.ts @@ -28,6 +28,13 @@ export function setRef( vnode: VNode, isUnmount = false, ): void { + if (parentSuspense) { + queuePostRenderEffect(() => { + setRef(rawRef, oldRawRef, null, vnode, isUnmount) + }, parentSuspense) + return + } + if (isArray(rawRef)) { rawRef.forEach((r, i) => setRef( -- 2.47.2