Step1
除了已設定 [formGroup]=”form” 的元件之外,選擇一個能包含所有元件的容器,加入 formArrayName 的屬性設定,如下:
<ng-template pTemplate="body" formArrayName="array">
Step2
在 ngOnInit 中,加入下列程式,取得 array
this.form = this.formBuilder.group({array: this.formBuilder.array([]),});
Step3
在剛剛設定 formArrayName 屬性的容器往內層找一個元件,加入 fromGroup 屬性
<tr *ngFor="let arrayFrom of array.controls; let i = index" [formGroup]="arrayFrom">
Step4
在要取值的元件中,每一個都加入 formControlName 屬性
<input formControlName="carName" type="text" pInputText maxlength="10" />
Step5
在 component.ts 檔程式中,加入下列設定
get array() {return this.form.get('array') as FormArray;}
取值
網頁端都設定無誤後,只要利用下列程式就能取得 array 裡的所有值,而且是以 json 格式呈現
console.log(this.array.value);
程式碼
範列程式可參考下列內容