Я изо всех сил пытаюсь создать шаблон HTML и структуру реактивной формы для отображения динамических вопросов на основе выбранного пользователем ответа. И запись выбранных пользователем ответов. Сначала я получу ответ API, как показано ниже (в настоящее время я показываю только минимальный набор значений).
который имеет
- mainCategoriesIdsList будет использоваться для соответствия categoryId в categoryList.
- Поля категорий списков initialFieldGroupIds будет иметь ссылку на
fieldGroupList -> groupId, который является не чем иным, как вопросом.
- Тип вопроса задается в fieldList -> fieldDataType для вопросов. Это может текстовое поле, радио-кнопка, флажок, ETC
- fieldGroupList-> fieldListReferenceId содержит validValueRefId для ответа в validValuesList.
- Опять же, если выбранный пользователем ответ имеет запись в зависимости от категории, первый шаг будет повторен
Который имеет данные JSON ниже
{
"mainCategoriesIdsList": [
120,
200
],
"categoriesList": [
{
"categoryName": "Wealth",
"categoryId": 120,
"initialFieldGroupIds": [
121
]
},
{
"categoryName": "Health",
"categoryId": 200,
"initialFieldGroupIds": [
121
]
}
],
"fieldGroupList": [
{
"groupId": 121,
"groupLabel": "How have you accumulated most of your wealth?",
"parentGroupId": 120,
"fieldListReferenceId": [
5000,7000
]
}
],
"fieldList": [
{
"fieldLabel": "Occupation",
"fieldDataType": "MULTI_SELECT",
"required": "Yes",
"parentMetaDataId": 121
}
],
"validValuesList": [
{
"validValueRefId": 5000,
"validValues": [
{
"valueId": 1008000,
"valueLabel": "Employment",
"valueDescription": "I earn/have earned income from an employer.",
"valueSequence": 1,
"dependantFieldGroupIds": [],
"dependantCategoryIds": [
200
]
},
{
"valueId": 1008001,
"valueLabel": "Self-Employment",
"valueDescription": "I earn/have earned income from doing business as a sole proprietor or independent contractor and only generate income for myself.",
"valueSequence": 2,
"dependantFieldGroupIds": [],
"dependantCategoryIds": []
}
]
}
]
}
детали выбора пользователя должны быть сохранены как показано ниже
{
"userInput": [
{
"date": "",
"fieldId": "5000",
"inputResponse": "",
"valueIdList": [
"1008000","1008001"
]
}
]
}