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 设置值,因为我想做的是创建一个带有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']));但它不显示表单中的数据。但是当它在控制台上检查时它工作。
1 回答
森栏
TA贡献1810条经验 获得超5个赞
你可以尝试使用patchValue设置值。
这是我在这里写的一个小例子。
const group = new FormGroup({
control1 : new FormControl(),
control2 : new FormControl(),
control3 : new FormControl()
});
const array = new FormArray([this.group]);
在这里,如果您需要将值设置为 FormGroup 意味着,请尝试使用 patchValue() 为组中的 FormControl 设置值
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
提交
取消