File tree Expand file tree Collapse file tree 1 file changed +7
-5
lines changed Expand file tree Collapse file tree 1 file changed +7
-5
lines changed Original file line number Diff line number Diff line change @@ -174,17 +174,19 @@ class MutableReactiveHandler extends BaseReactiveHandler {
174
174
receiver : object
175
175
) : boolean {
176
176
let oldValue = ( target as any ) [ key ]
177
- if ( isReadonly ( oldValue ) && isRef ( oldValue ) && ! isRef ( value ) ) {
178
- return false
179
- }
180
177
if ( ! this . _shallow ) {
178
+ const isOldValueReadonly = isReadonly ( oldValue )
181
179
if ( ! isShallow ( value ) && ! isReadonly ( value ) ) {
182
180
oldValue = toRaw ( oldValue )
183
181
value = toRaw ( value )
184
182
}
185
183
if ( ! isArray ( target ) && isRef ( oldValue ) && ! isRef ( value ) ) {
186
- oldValue . value = value
187
- return true
184
+ if ( isOldValueReadonly ) {
185
+ return false
186
+ } else {
187
+ oldValue . value = value
188
+ return true
189
+ }
188
190
}
189
191
} else {
190
192
// in shallow mode, objects are set as-is regardless of reactive or not
You can’t perform that action at this time.
0 commit comments