下面是我从服务获得响应的代码。在这里,我正在获取员工列表。
我需要根据服务的响应动态地绑定表单控件,我的服务返回的字段(雇员ID,名称,部门等)比表单控件多。如何跳过那些不在表单控件中使用的内容?
this._employeeService.getEmployeeById(this.employeeId).subscribe((res: Response) => {
debugger;
this.employeeForm.get('FileUploader').setValue(null);
//this.employeeForm.setValue(res);
for (const field in res) {
this.employeeForm.controls[field].setValue(res[field]);
}
});
this.employeeForm = this._fb.group({
EmployeeId: 0,
Name: ''});
答案 0 :(得分:1)
您可以使用patchValue
作为设置值
this.employeeForm.patchValue(res);
答案 1 :(得分:1)
您可以使用FormGroup类的 get 方法。像这样在getEmployeeById回调中更改迭代器:
for (const field in res) {
const formControl = this.employeeForm.get(field);
if (formControl) {
formControl.setValue(res[field]);
}
}