我想根据数组中的选择显示表单字段,以便能够根据选择动态添加项目。
什么有效:
没有围绕这个工作的数组。请参见下面的代码:
{
"schema": {
"type": "object",
"properties": {
"accessory": {
"title": "Type",
"type": "string",
"default": "one",
"oneOf": [
{ "title": "First", "enum": ["one"] },
{ "title": "Second", "enum": ["two"] }
],
"required": true
},
"setName": {
"type": "string"
},
"Second Name": {
"type": "string",
"description": "Only displayed if 'two' is selected",
"condition": {
"functionBody": "return model.accessory === 'two';"
}
}
}
}
}
什么不起作用:
但是一旦我在它周围包裹一个数组,条件就不再起作用了。
{
"schema": {
"type": "object",
"properties": {
"accessories": {
"title": "Accessories",
"type": "array",
"items": {
"title": "Accessory",
"type": "object",
"properties": {
"accessory": {
"title": "Type",
"type": "string",
"default": "one",
"oneOf": [
{ "title": "First", "enum": ["one"] },
{ "title": "Second", "enum": ["two"] }
],
"required": true
},
"setName": {
"type": "string"
},
"Second Name": {
"type": "string",
"description": "Only displayed if 'two' is selected",
"condition": {
"functionBody": "return model.accessory === 'two';"
}
}
}
}
}
}
}
}
我还尝试了以下条件:
"return model[arrayIndex].accessory === 'two';"
和
"return ['two'].includes(model.accessory);"