在 jdorn/json-editor 中的几个 属性 集合中进行选择
Choosing between several property sets in jdorn/json-editor
我在我的 JSON 模式中定义了两个不同的 属性 集,我正在尝试组合一个编辑器,允许用户从几个 属性 集中选择一个然后填写相应的属性。
这是我的架构:
{
"type": "object",
"title": "Test Configuration",
"properties": {
"master_property_set": {
"title": "Testing oneOf",
"oneOf": [
{
"type": "object",
"title": "Property set 1",
"properties": {
"property1": {
"type": "string"
},
"property2": {
"type": "string"
}
}
},
{
"type": "object",
"title": "Property set 2",
"properties": {
"property3": {
"type": "string"
},
"property4": {
"type": "string"
}
}
}
]
}
}
}
问题是,当我切换到 Property set 2
时,我的数据仍然包含 property1
和 property2
作为空字符串,并且它们显示在编辑器中。他们应该被移除。我做错了什么?
可以在此处测试设置:http://goo.gl/j91of7
我在文档中找到了答案。原来编辑器的no_additional_properties
属性需要设置为true.
{
"type": "object",
"title": "Test Configuration",
"properties": {
"master_property_set": {
"title": "Testing oneOf",
"oneOf": [
{
"type": "object",
"title": "Property set 1",
"properties": {
"property1": {
"type": "string"
},
"property2": {
"type": "string"
}
},
"additionalProperties":false
},
{
"type": "object",
"title": "Property set 2",
"properties": {
"property3": {
"type": "string"
},
"property4": {
"type": "string"
}
},
"additionalProperties":false
}
]
}
}
}
我在我的 JSON 模式中定义了两个不同的 属性 集,我正在尝试组合一个编辑器,允许用户从几个 属性 集中选择一个然后填写相应的属性。
这是我的架构:
{
"type": "object",
"title": "Test Configuration",
"properties": {
"master_property_set": {
"title": "Testing oneOf",
"oneOf": [
{
"type": "object",
"title": "Property set 1",
"properties": {
"property1": {
"type": "string"
},
"property2": {
"type": "string"
}
}
},
{
"type": "object",
"title": "Property set 2",
"properties": {
"property3": {
"type": "string"
},
"property4": {
"type": "string"
}
}
}
]
}
}
}
问题是,当我切换到 Property set 2
时,我的数据仍然包含 property1
和 property2
作为空字符串,并且它们显示在编辑器中。他们应该被移除。我做错了什么?
可以在此处测试设置:http://goo.gl/j91of7
我在文档中找到了答案。原来编辑器的no_additional_properties
属性需要设置为true.
{
"type": "object",
"title": "Test Configuration",
"properties": {
"master_property_set": {
"title": "Testing oneOf",
"oneOf": [
{
"type": "object",
"title": "Property set 1",
"properties": {
"property1": {
"type": "string"
},
"property2": {
"type": "string"
}
},
"additionalProperties":false
},
{
"type": "object",
"title": "Property set 2",
"properties": {
"property3": {
"type": "string"
},
"property4": {
"type": "string"
}
},
"additionalProperties":false
}
]
}
}
}