问题描述
我已经定义了 JSON Schema 并且我正在使用 JSON Editor 来呈现一个具有两个下拉列表(品牌和设备)的表单,并且预期的表单如下所示:
品牌下拉列表包含 3 个值:
- 苹果
- 谷歌
- 戴尔
同样,设备下拉列表也包含 3 个值:
- 笔记本电脑
- 平板电脑
- 电话
但是,在Devices下拉列表中呈现值是有条件的,条件如下:
我已经使用了 JSON 模式草案 7 的 If then 和 else 来实现预期的结果,到目前为止我的解决方案如下所示(Here's链接到交互式 JSON 模式游乐场):
{
"required": [
"brands","devices"
],"properties": {
"brands": {
"$ref": "#/deFinitions/brands"
}
},"deFinitions":{
"brands": {
"title": "Brands","type": "string","enum": [
"Apple","Google","Dell"
],"default": "Apple"
},"all_devices": {
"type": "string","enum": [
"Laptop","Tablet","Phone"
]
},"dell_devices": {
"type": "string","Tablet"
]
}
},"if": {
"properties": {
"brands": {
"const" : "Dell"
},"required": [
"devices"
]
},"then": {
"properties": {
"devices": {
"$ref": "#/deFinitions/dell_devices"
}
},"else":{
"properties": {
"devices": {
"$ref": "#/deFinitions/all_devices"
}
},"required": [
"devices"
]
}
}
}
但是,第二个下拉菜单(设备)根本没有显示,我不知道如何调试这个问题,因为我是 JSON 架构的新手。
如果有人能指导我走向正确的方向,或者提出任何其他方法来实现我想要的结果,我真的很感激。
非常感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)