首页 > 解决方案 > Angular:如何检查表单中是否存在某些控件

问题描述

下面是我从服务获得响应的代码。在这里,我得到了一份员工名单。

我需要根据服务的响应动态绑定表单控件,我的服务返回的字段(EmployeeId、Name、Department 等)比表单具有的控件多。如何跳过那些没有在表单控制中使用的?

this._employeeService.getEmployeeById(this.employeeId).subscribe((res: Response) => {
  this.employeeForm.get('FileUploader').setValue(null);
  for (const field in res) {
    this.employeeForm.controls[field].setValue(res[field]);
  }
});

this.employeeForm = this._fb.group({
  EmployeeId: 0,
  Name: ''
});

标签: angularangular6angular-formsangular-formbuilder

解决方案


虽然已经有一个公认的答案,但值得一提的是,确实有一种方法可用,以防万一它可能对那些真正想要一种具体方法来验证给定 FormControl 在 FormGroup 中是否存在的人有用:

包含(控制名称:字符串):布尔值


来源:https ://angular.io/api/forms/FormGroup#contains


推荐阅读