Я создал форму с помощью formBuilder
this.authForm = this.formBuilder.group({
diagnostic: ['', Validators.required],
produit:['',Validators.required],
pieces: this.formBuilder.array([]),
ramassage:'',
main:''
});
get getPiecesArray() {
return this.authForm.get('pieces') as FormArray;
}
addPiece() {
const piece = this.formBuilder.group({
piece: [],
prix: [],
})
this.getPiecesArray.push(piece);
}
deletePiece(i) {
this.getPiecesArray.removeAt(i)
}
в моем HTML у меня есть
<div formArrayName="pieces">
<ion-item *ngFor="let piece of getPiecesArray.controls; let i=index" [formGroupName]="i">
<ion-icon item-end color="danger" name="trash" (click)="deletePiece(i)"></ion-icon>
<ion-item>
<ion-input full placeholder="Piéce" formControlName="piece"></ion-input>
</ion-item>
<ion-item>
<ion-input placeholder="Prix" formControlName="prix"></ion-input>
</ion-item>
</ion-item>
</div>
Но когда я хочу получить от onSubmitForm ()
console.log(this.getPiecesArray().controls);
for (let control of this.getPiecesArray().controls) {
pieces = pieces + " " + control.value;
}
У меня эта ошибка. Невозможно вызвать выражение, тип которого не имеет сигнатуры вызова. Тип FormArray не имеет совместимых сигнатур вызовов.
Как я могу поместить все данные в formBuilder.array