Я использую эту часть схемы json в коде Visual Studio для автозаполнения. Я хочу предложить различные свойства в зависимости от значения свойства name . В настоящее время, когда я набираю "name": "Component1" , мне предлагается только testProp1 . Но проблема существует, прежде чем я начну набирать name , он предлагает мне все доступные свойства: name, testProp1, testProp2, testProp3 . Как я мог переписать json схему, чтобы получить только name свойство в предложениях в начале? Я попытался переключить вместо allOf . Это помогает в начале, но после того, как я ввожу "name": "Component1" , нет никаких предложений для testProp1 .
"Component": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
}
},
"allOf": [
{
"if": {
"properties": {
"name": {
"const": "Component1"
}
}
},
"then": {
"properties": {
"testProp1": {
"type": "string"
}
}
}
},
{
"if": {
"properties": {
"name": {
"const": "Component2"
}
}
},
"then": {
"properties": {
"testProp2": {
"type": "string"
},
"testProp3": {
"type": "integer"
}
}
}
}
],
"required": [
"name"
],
"title": "Component"
}