Skip to content

Commit d2f9791

Browse files
committed
fix(anyof): 新值为object类型直接覆盖
fix #77
1 parent 85d9545 commit d2f9791

File tree

2 files changed

+16
-2
lines changed
  • packages/lib
    • vue2/vue2-core/src/fields/combiningSchemas/SelectLinkageField
    • vue3/vue3-core/src/fields/combiningSchemas/SelectLinkageField

2 files changed

+16
-2
lines changed

packages/lib/vue2/vue2-core/src/fields/combiningSchemas/SelectLinkageField/index.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,14 @@ export default {
143143
// 设置新值
144144
if (isObject(newOptionData)) {
145145
Object.entries(newOptionData).forEach(([key, value]) => {
146-
if (value !== undefined && (curFormData[key] === undefined || this.selectList[newVal].properties[key].const !== undefined)) {
146+
if (
147+
value !== undefined
148+
&& (
149+
curFormData[key] === undefined
150+
|| this.selectList[newVal].properties[key].const !== undefined
151+
|| isObject(value)
152+
)
153+
) {
147154
// 这里没找到一个比较合理的新旧值合并方式
148155
//
149156
// 1. 如果anyOf里面同名属性中的schema包含了 const 配置,产生了新的值这里做覆盖处理

packages/lib/vue3/vue3-core/src/fields/combiningSchemas/SelectLinkageField/index.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,14 @@ export default {
135135
// 设置新值
136136
if (isObject(newOptionData)) {
137137
Object.entries(newOptionData).forEach(([key, value]) => {
138-
if (value !== undefined && (curFormData[key] === undefined || props.selectList[newVal].properties[key].const !== undefined)) {
138+
if (
139+
value !== undefined
140+
&& (
141+
curFormData[key] === undefined
142+
|| props.selectList[newVal].properties[key].const !== undefined
143+
|| isObject(value)
144+
)
145+
) {
139146
// 这里没找到一个比较合理的新旧值合并方式
140147
//
141148
// 1. 如果anyOf里面同名属性中的schema包含了 const 配置,产生了新的值这里做覆盖处理

0 commit comments

Comments
 (0)