我想使用insert()更新formArray上的特定值。 我對ngOninit()這樣的初始化形式:Angular FormArray Insert
this.myForm = this.fb.group({
exercises: this.fb.array([]),
type: new FormControl(),
day: new FormControl(),
sets: this.fb.array([]),
reps: this.fb.array([]),
});
我有一個輸入其中的變化我調用這個函數的,但是當我嘗試插入與數組的索引的新值,我得到推動的價值。
onSetsChange(sets, index){
var setsFormArray = <FormArray>this.myForm.controls.sets;
setsFormArray.insert(index, new FormControl(sets));
}
的HTML代碼如下:
<div class="col-md-3">
<select class="form-control input-sm" (change)="onSetsChange($event.target.value, exerciseIndex)">
<option *ngFor="let set of sets; let i = index;">{{set}}</option>
</select>
</div>
的exerciseIndex我通過是一個循環,它並沒有顯示出來。
我做錯了什麼,它的價值沒有更新?感謝您使用patchValue
爲什麼不通過'[(ngModel)]'使用雙向數據綁定來處理值? –
@CommercialSuicide,因爲FormControls的方式更強大和清晰? – smnbbrv
@oMpamparos你的問題不清楚。爲什麼使用一個數組中的索引將相同索引**的值插入另一個數組中?如果你想保持值相同索引 – smnbbrv