Javascript 角度:有没有一种方法可以在ts组件中唯一地标识html表单控件?

Javascript 角度:有没有一种方法可以在ts组件中唯一地标识html表单控件?,javascript,html,angular,typescript,Javascript,Html,Angular,Typescript,打字法 addOneDocument(supplierForm){ const controls = supplierForm.controls; for(const name in controls){ if (controls[name].invalid) { controls[name].touched=true; } } } 我想更改此方法以检查特定表单控件是否存在错误。 我真的想要像下面这样的东西 if ((con

打字法

 addOneDocument(supplierForm){
    const controls = supplierForm.controls;
    for(const name in controls){

      if (controls[name].invalid) {
        controls[name].touched=true;
    }
    }
  }
我想更改此方法以检查特定表单控件是否存在错误。 我真的想要像下面这样的东西

 if ((controls[name].invalid)&&(controls[name].name=="document"))

但是类型FormControl上不存在name属性。如何在typescript中唯一地标识特定的html表单控件?

您可以将表单控件视为树状结构。例如,父对象是
FormGroup
,其子对象可以是一些
FormControls
/
FormGroups
/
formarray
等等

我不知道有什么方法可以识别这样的表单控件,但我想到的最佳解决方案是使用
get()
方法,您可以为表单控件提供路径

摘录自:

const fg=new FormGroup({
名称:新表单控件(“”),
地址:新表格组({
城市:新表单控制(“”),
街道:新FormControl(“”),
}),
});
您可以像这样使用
get
方法:

fg.get('address.city'))
//或
fg.get([“地址”,“街道])
因此,我认为识别表单控件的一种方法是使用它的路径