Я использую jsonschema для создания наших форм и их проверки.
Ниже приведен пример json:
{
"title": "Microsoft Account Request",
"readOnly": false,
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"description": "Microsoft Azure Account Request Product Specification",
"properties": {
"product": {
"title": "Product",
"dataBinding": {"references": ["SPEC_ID#/properties/service"]},
"properties": {
"offers": {
"title": "Product Offers",
"propertyOrder": 1,
"type": "array",
"uniqueItems": true,
"format": "tabs",
"items": {
"title":"Product Offer",
"properties": {
"category": {
"title": "Category",
"readOnly": false,
"unique":true,
"strictProperties": true,
"enum": [
"Cloud Services",
"Virtual Machines",
"Azure App Service",
"Batch"
],
"options": {
"dependencies": [
{"id":"subcategoryAdd", "value":true}
]
},
"description": "Select category",
"propertyOrder": 1,
"type": "string"
},
"subcategory": {
"id":"subcategoryAdd",
"title": "Sub - Category",
"readOnly": false,
"strictProperties": true,
"description": "Select Sub-Category",
"options": {
"hide_display": true
},
"enum": [
"Build and Deployment",
"Application Insights"
],
"propertyOrder": 2,
"type": "string"
}
},
"type": "object"
}
}
},
"type": "object"
}
},
"type": "object"
}
И пример вывода:
В форме вывода я выделил параметр подкатегории в поле выбора, который должен загружаться на основе выбранной категории.
Например, если я выбираю batch
, то параметры подкатегории a, b, c должны отображаться в поле выбора для подкатегории, а если я выбираю Azure app service
, то параметры подкатегории d, e, f должны отображаться в поле выбора для подкатегории.
Я пробовал это с dependencies
, но тщетно. Кроме того, я попытался сделать это, используя watch
и enumSource
, как указано здесь
Любая помощь будет стоить.
Спасибо!