背景
制作表单设置
我正在尝试创建一个用户可以使用表单创建的对象数组。因此,用户可以根据需要将任意数量的项添加到数组中。
项目数组包含一个类型,然后是另一个字段,具体取决于类型。
如果用户点击REST,我希望它提供一个名为method
的字段。
如果用户点击SSH,我希望它提供一个名为path
的字段。
代码
SCHEMA
{
"type": "object",
"title": "Command Asset",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"commands": {
"type": "array",
"title": "Actions",
"items": {
"type": "object",
"properties": {
"commandType": {
"title": "Command Type",
"type": "string",
"enum": [
"REST",
"SSH"
]
},
"path": {
"title": "Path",
"type": "string"
},
"method": {
"title": "Method",
"type": "string"
}
}
}
}
}
}
FORM
[
{
"type": "help",
"helpvalue": "<h5>Command</h5>"
},
"name",
{
"title":"Command",
"key": "commands",
"items": [
"commands[].commandType",
{
"type": "conditional",
"condition": "modelData.commands[0].commandType=='SSH'",
"items": [
{
"key": "commands[].path"
}
]
},
{
"type": "conditional",
"condition": "modelData.commands[0].commandType=='REST'",
"items": [
{
"key": "commands[].method"
}
]
}
]
}
]
可以在此处测试此代码:http://schemaform.io/examples/bootstrap-example.html
问题
正如我所看到的,我现在拥有的代码可以生成所有项目&#39;辅助属性(path
或method
)取决于数组commandType
中的第一项(在[0]处),但我希望它依赖于{{1相应的项目。因此,如果第一项具有commandType
REST,则它提供commandType
字段,如果第二项具有SSH命令类型,则它提供method
字段,依此类推。
答案 0 :(得分:0)
我找到了答案。
将[0]
替换为[arrayIndex]
。