Я пытаюсь использовать компонент JsonSchema-Form, но у меня возникла проблема при попытке создать форму, в которой после выбора одного из параметров в первом раскрывающемся списке должно появиться вторичное раскрывающееся меню, которое предоставит пользователю другой набор параметров.варианты выбора в зависимости от того, что он выбрал в первом раскрывающемся списке через вызов API.
Дело в том, что после прочтения документации и некоторых примеров, найденных здесь и здесь соответственно, я все еще не знаю точно, какие ссылки я выбрал в первом вариантеповлиять на второй выпадающий.Вот пример того, что у меня есть прямо сейчас:
Информация о Jsons, которая должна отображаться в первом и втором раскрывающихся списках через вызовы API:
Groups: [
{id: 1,
name: Group1}
{id: 2,
name: Group2}
]
User: [User1.1,User1.2,User2.1,User2.2,User3.1,User3.2, ....]
Если пользователь выбирает первую группузатем я должен использовать следующий вызов API для получения пользовательских типов, который возвращает мне USER json.
Компонент, который вызывает JSonChemaForm
render(){
return(
<JsonSchemaForm
schema={someSchema(GroupOptions)}
formData={this.state.formData}
onChange={{}}
uiSchema={someUiSchema()}
onError={() => {}}
showErrorList={false}
noHtml5Validate
liveValidate
>
)
}
Содержимое SchemaFile:
export const someSchema = GroupOptions => ({
type: 'object',
required: [
'groups', 'users',
],
properties: {
groups: {
title: 'Group',
enum: GroupOptions.map(i=> i.id),
enumNames: GroupOptions.map(n => n.name),
},
users: {
title: 'Type',
enum: [],
enumNames: [],
},
},
});
export const someUISchema = () => ({
groups: {
'ui:autofocus': true,
'ui:options': {
size: {
lg: 15,
},
},
},
types: {
'ui:options': {
size: {
lg: 15,
},
},
},
});
Я не совсем уверен, как поступить с этим, и как использовать метод Onchange, чтобы делать то, что я хочу.