From 80fdddb79d432dbc0724b2049b488dceb8f38c0e Mon Sep 17 00:00:00 2001 From: baiwusanyu <740132583@qq.com> Date: Wed, 21 Sep 2022 23:05:33 +0800 Subject: [PATCH] fix(runtime-core):v-for ref behaves differently under prod and dev #6697 --- packages/runtime-core/src/rendererTemplateRef.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/runtime-core/src/rendererTemplateRef.ts b/packages/runtime-core/src/rendererTemplateRef.ts index 1fe432d5019..63a111f8f15 100644 --- a/packages/runtime-core/src/rendererTemplateRef.ts +++ b/packages/runtime-core/src/rendererTemplateRef.ts @@ -12,7 +12,7 @@ import { import { isAsyncWrapper } from './apiAsyncComponent' import { getExposeProxy } from './component' import { warn } from './warning' -import { isRef } from '@vue/reactivity' +import {isRef, reactive} from '@vue/reactivity' import { callWithErrorHandling, ErrorCodes } from './errorHandling' import { SchedulerJob } from './scheduler' import { queuePostRenderEffect } from './renderer' @@ -61,7 +61,7 @@ export function setRef( return } const oldRef = oldRawRef && (oldRawRef as VNodeNormalizedRefAtom).r - const refs = owner.refs === EMPTY_OBJ ? (owner.refs = {}) : owner.refs + const refs = owner.refs === EMPTY_OBJ ? (owner.refs = reactive({})) : owner.refs const setupState = owner.setupState // dynamic ref changed. unset old ref