Joe*_*oey 2 json jsonschema json-schema-validator dropdown
假设我有以下数据结构
Option A
Option B
Option B1
Option B2.1
Option B2.2
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个允许这样做的枚举结构,以便我可以根据先前选择的下拉列表的值生成一个下拉列表。
例子 :
Select option A -> No additional dropdowns
Select option B -> Generate dropdown with Option B1
Select option B1 -> Generate dropdown with Option B2.1 and Option B2.2
Run Code Online (Sandbox Code Playgroud)
当你想用 childeren 创建一个数组时,这会起作用 enums 是否有任何类似的可能
{
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"medicine": {
"type": "object",
"properties": {
"value": { "type": "string" },
"categories": {
"type": "array",
"items": { "$ref": "#/definitions/medicine" }
}
}
}
},
"properties": {
"person": { "$ref": "#/definitions/medicine" }
}
Run Code Online (Sandbox Code Playgroud)
}
然后枚举结构是这样的
[
{
"value ": "Option A"
},
{
"value ": "Option B ",
"categories ": [
{
"value ": "Option B1 ",
"categories ": [
{
"value ": "Option B1.1"
},
{
"value ": "Option B1.2"
}
]
}
]
}
]
Run Code Online (Sandbox Code Playgroud)
所以我正在寻找一种数据结构,它允许我根据在自己的布局生成引擎中选择的值进行下拉。
您是否考虑过扁平化您的结构,以便更轻松地查找选项和子选项?
假设您有一个用于根选项的初始数组:
[
'opt_a',
'opt_b'
]
Run Code Online (Sandbox Code Playgroud)
然后你有一个所有选项的扁平化地图,你可以从中导出标签和后续下拉列表:
{
opt_a: {
label: 'Option A'
},
opt_b: {
label: 'Option B',
children: ['opt_b1']
},
opt_b1: {
label: 'Option B1',
children: ['opt_b11', 'opt_b12']
}
opt_b11: {
label: 'Option B1.1'
}
opt_b12: {
label: 'Option B1.2'
}
}
Run Code Online (Sandbox Code Playgroud)
我希望这能回答你的问题并且是不言自明的。
| 归档时间: |
|
| 查看次数: |
2032 次 |
| 最近记录: |