Я пытаюсь создать массивы форм в Angular. Когда данные не отображались, я свернул код, чтобы показать поведение. Я должен использовать массивы форм для окончательного кода. Помогите мне, пожалуйста, пройти через это. Я использую Angular 6.
Почему я получаю эту ошибку:
Ошибка: не удается найти элемент управления с именем: 'resultOptions'
// My component .ts file
import {FormControl, FormArray, FormBuilder, FormGroup} from '@angular/forms';
export class MyComponent implements OnInit, OnDestroy {
private resultForm: FormGroup;
private destroyed$: Subject<boolean> = new Subject();
resultData = [
{
text: 'My Text',
}];
constructor(private formBuilder: FormBuilder) {
this.resultForm = this.formBuilder.group({
childData: this.formBuilder.array([])
});
this.setMainOptions();
}
setMainOptions() {
const control = <FormArray>this.resultForm.controls.childData;
this.resultData.forEach(x => {
control.push(this.formBuilder.group({
text: new FormControl()}))
})
}
ngOnInit() {
}
ngOnDestroy() {
this.destroyed$.complete();
}
}
// my html
<form [formGroup]="resultForm">
<div formArrayName="resultOptions">
<div *ngFor="let mainOption of resultForm.get('childData').controls; let i=index">
<div [formGroupName]="i">
<input [formControlName]="text" />
</div>
</div>
</div>
</form>
<pre>{{resultForm.value | json}}</pre>
Высоко оценен!
childData
вместоresultOptions
внутри HTML. - person Vishw Patel   schedule 14.11.2018html
представлением, чтобы узнать, на что на самом деле ссылаются там - person Farooq Ahmed Khan   schedule 14.11.2018