Я делаю угловое приложение с угловой динамической формой. Здесь я делаю форму, в которой у меня есть поле выбора.
При нажатии на поле выбора я хотел бы создать поля ввода, которые должныбыть массивом ..
Здесь даже генерация текстовых полей не работает ..
HTML
<div *ngFor="let item of array">
{{item.value}} is the parent
<div *ngFor="let child of item.templateChild">
{{child.property_name}}
<input type="text" [value]="child.property_name">
<div *ngFor="let partThree of questionsParthree">
<ng-container>
<app-question [question]="partThree" [form]="formPartThree"></app-question>
</ng-container>
</div>
</div>
</div>
TS:
this.questionsPartThree = this.service.getQuestions(element);
console.log(values);
this.formPartThree = this.qcs.toFormGroup(this.questionsPartThree);
this.formJoin = new FormGroup({ form1: this.form, form2: this.formPartTwo, template_data: this.formPartThree });
Попытка сделать formArray
внутри вышеупомянутого html, но я получаю ошибку как cannot find control name template_properties
.
Чтобы перепутать и сделать неясный вопрос, я уменьшилкод и все, что вы получите в демоверсии ..
рабочий стекблиц: https://stackblitz.com/edit/angular-x4a5b6-wyqdzn
Текущий вывод формы:
{
"form1": {
"project_name": "",
"project_desc": ""
},
"form2": {
"property_one": "",
"property_two": ""
},
"template_data": {
"template_details": [
{
"Propertyone": "",
"Propertytwo": "",
"Propertythree": "",
"Propertyfour": "",
"Propertyfive": ""
}
]
}
}
Ожидаемый результат:
{
"form1": {
"project_name": "",
"project_desc": ""
},
"form2": {
"property_one": "",
"property_two": ""
},
"template_details" : [
{ "template_name": "Template One",
"templateChild" : [{"property_one": "", "property_two":""}]
},
{ "template_name": "Template Two",
"templateChild" : [{"property_three": "", "property_four":"",
"property_five":""}]
}
]
}
Если я выберу несколько опций (так как поле выбора является множественным выбором), то в template_properties
.
* должно образоваться следующее.1038 * Форма состоит из трех частей, не обращайте внимания на первую и вторую части. Поле выбора относится только к третьей части.
Пожалуйста, обратитесь к ожидаемому выводу выше, чтобы иметь структуру JSON формы .. Если я выберу два, он не должен заменять значения, он должен получить несколько объектов внутри массива template_properties
..
{ "template_name": "Template One",
"templateChild" : [{"property_one": "", "property_two":""}]
},
{ "template_name": "Template Two",
"templateChild" : [{"property_three": "", "property_four":"",
"property_five":""}]
}
Изо всех сил, но я не могу найти правильное решение ... Любой человек, помогающий мне, пожалуйста, помогите мне достичь ожидаемого результата от токового выхода, используя demo ..