繁華開滿天機
2023-01-06 11:01:58
if (Object.prototype.hasOwnProperty.call(data, 'checklists')) { if (Array.isArray(data.checklists)) { data.checklists.map((dt: any) => { dt.tasks.forEach((task: any) => { const dataArray = new FormGroup({}); dataArray.addControl('failed', new FormControl(true, Validators.required)); dataArray.addControl('remarks', new FormControl('', Validators.required)); dataArray.addControl('task', new FormControl(task)); formArray.push(dataArray); }); }); data.checklists.map((dt: any) => { assetArray.push(dt.asset); }); } } const formField = { remarks: new FormControl(''), tasks: formArray, room: this.creds.credentials['room'], asset: assetArray }; return this.fb.group(formField);如何使用新的 FormControl 從 addControl 設(shè)置值,因為我想做的是創(chuàng)建一個帶有create data和的表單edit data。我試圖將其更改為: dataArray.addControl('failed', new FormControl(task['failed], Validators.required)); dataArray.addControl('remarks', new FormControl(task['remark'], Validators.required)); dataArray.addControl('task', new FormControl(task['task']));但它不顯示表單中的數(shù)據(jù)。但是當(dāng)它在控制臺上檢查時它工作。
1 回答

森欄
TA貢獻(xiàn)1810條經(jīng)驗 獲得超5個贊
你可以嘗試使用patchValue設(shè)置值。
這是我在這里寫的一個小例子。
const group = new FormGroup({
control1 : new FormControl(),
control2 : new FormControl(),
control3 : new FormControl()
});
const array = new FormArray([this.group]);
在這里,如果您需要將值設(shè)置為 FormGroup 意味著,請嘗試使用 patchValue() 為組中的 FormControl 設(shè)置值
this.group.patchValue({control1:'your value here'})
this.array = new FormArray(this.group)
以下鏈接可能對您有所幫助,
https://www.concretepage.com/angular-2/angular-2-formgroup-example
https://angular.io/guide/reactive-forms
添加回答
舉報
0/150
提交
取消