From a6e74985cf2eab6f16d03a8eda3bf3fc7950127c Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 12 Jul 2022 18:59:26 +0800 Subject: [PATCH] fix: detect property add/deletion on reactive objects from setup when used in templates --- src/v3/reactivity/ref.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/v3/reactivity/ref.ts b/src/v3/reactivity/ref.ts index 114e6f563d8..244acc9b0d4 100644 --- a/src/v3/reactivity/ref.ts +++ b/src/v3/reactivity/ref.ts @@ -119,7 +119,16 @@ export function proxyWithRefUnwrap( Object.defineProperty(target, key, { enumerable: true, configurable: true, - get: () => unref(source[key]), + get: () => { + const val = source[key] + if (isRef(val)) { + return val.value + } else { + const ob = val && val.__ob__ + if (ob) ob.dep.depend() + return val + } + }, set: value => { const oldValue = source[key] if (isRef(oldValue) && !isRef(value)) {