Когда «Да» ответили на вопрос «Тест на интеллект проводился раньше?» флажок «Какой тест?» Показано. Это работает хорошо.
Однако при выборе опции «Другое» я хочу, чтобы отображался вопрос «Другой тест» (который является текстовым полем). Это не работает.
Браузер также показывает мне следующее сообщение:
«игнорирование oneOf в зависимостях, поскольку не существует единственной действительной подсхемы»
Я использую следующую схему Json:
{
"header": "Personal Information",
"type": "object",
"required": [
"Intelligence test taken before?"
],
"properties": {
"Intelligence test taken before?": {
"type": "string",
"enum": [
"Yes",
"No"
]
}
},
"dependencies": {
"Intelligence test taken before?": {
"oneOf": [
{
"properties": {
"Intelligence test taken before?": {
"enum": [
"Yes"
]
},
"Which Test?": {
"type": "array",
"items": {
"type": "string",
"enum": [
"Test1",
"Other"
]
},
"uniqueItems": true
}
},
"required": [
"Which Test?"
]
}
]
},
"Which Test?": {
"oneOf": [
{
"properties": {
"Which Test?": {
"enum": [
"Other"
]
},
"Other Test": {
"type": "string"
}
},
"required": [
"Other Test"
]
}
]
}
}
}
и следующая схема пользовательского интерфейса:
{
"Which Test?": {
"ui:widget": "checkboxes"
}
}
Любая подсказка, как я могу показать вопрос «Другой тест», когда опция «Другой» выбрана из списка чекбоксов?
Я не знаю, уместно ли это, но я использую пакет json-schema-form.
https://github.com/mozilla-services/react-jsonschema-form
Обновление:
Подобрался ближе. При выборе «Другое» текстовое поле теперь будет отображаться, однако при выборе «Тест1» оно снова исчезает.
{
"header": "Personal Information",
"type": "object",
"required": [
"Intelligence test taken before?"
],
"properties": {
"Intelligence test taken before?": {
"type": "string",
"enum": [
"Yes",
"No"
]
}
},
"dependencies": {
"Intelligence test taken before?": {
"oneOf": [
{
"properties": {
"Intelligence test taken before?": {
"enum": [
"Yes"
]
},
"Which Test?": {
"type": "array",
"items": {
"type": "string",
"enum": [
"Test1",
"Other"
]
},
"uniqueItems": true
}
},
"required": [
"Which Test?"
]
}
]
},
"Which Test?": {
"oneOf": [
{
"properties": {
"Which Test?": {
"enum": [
"Other"
]
},
"Other Test": {
"type": "string"
}
},
"required": [
"Other Test"
]
}
]
}
}
}