Вложенные вопросы на основе выбора ответа в реактивных формах - PullRequest
0 голосов
/ 27 марта 2019

Я изо всех сил пытаюсь создать шаблон HTML и структуру реактивной формы для отображения динамических вопросов на основе выбранного пользователем ответа. И запись выбранных пользователем ответов. Сначала я получу ответ API, как показано ниже (в настоящее время я показываю только минимальный набор значений).

который имеет

  1. mainCategoriesIdsList будет использоваться для соответствия categoryId в categoryList.
  2. Поля категорий списков initialFieldGroupIds будет иметь ссылку на
    fieldGroupList -> groupId, который является не чем иным, как вопросом.
  3. Тип вопроса задается в fieldList -> fieldDataType для вопросов. Это может текстовое поле, радио-кнопка, флажок, ETC
  4. fieldGroupList-> fieldListReferenceId содержит validValueRefId для ответа в validValuesList.
  5. Опять же, если выбранный пользователем ответ имеет запись в зависимости от категории, первый шаг будет повторен

Который имеет данные 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"
      ]
    }
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...