![](/img/trans.png)
[英]How to set formControl value dynamically in formGroup using angular?
[英]How to set the value of array in formgroup
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']));
您可以尝试使用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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.