вложенность или нет) и конфигом элемента для отображения, у некоторых могут быть вложенные элементы, макс глубина вложенностей - 3. В зависимости от контрола отображаю необходимую форму, как правило у таких форм есть инпут. Как создать стейт для такой структуры, чтобы можно было собрать все введенные в инпуты значения в json, при этом сохранив связь вложенных элементов?
Пример: {id: 1, type: hasNested, elements: [ {id: 2, type: elementary, config: [{control: “textArea”, input: text, label: “what is Helio?”, name: “helio”}]}]}
В отдельном разделе отобразится текстареа с лейблом вопроса. Таких элементов и разделов может быть много.
На выходе нужно получить максимально похожее на то, что получаем на входе.
Можно для каждой вложенности сделать свой стейт, а если ее нет - хранить null или пустой массив. А при отправке, собирать все в такую струтуру
Не совсем понял. Например делаем стейт с айдишником родителя, в нём указываем айдишники детей, которые просто описываем на первом уровне?
Если я тебя правильно понял, то на верхнем уровне хранишь в стейте объект с id и hasNested, и отдельно массив elements, дальше перебираешь его, и в дочерние компоненты передаешь содержимое, то же самое с остальными вложенностями, но уже в дочерних компонентах
вообще изначально вложенности не было (не нужно было связывать вложенный с родительским компонентом), сейчас при расширении функционала появилась необходимость получив определенную древовидную структуру, отрисовывать её, изменять в ней данные и в аналогичном начальному виде отправлять их на сервак
Обсуждают сегодня