在Angular 7应用程序中,对于反应式表单,如何修改此方法,使其仅清除表单组中的无效表单控件?

在Angular 7应用程序中,对于反应式表单,如何修改此方法,使其仅清除表单组中的无效表单控件?,angular,angular7,angular-reactive-forms,Angular,Angular7,Angular Reactive Forms,我需要修改此方法,以便当用户单击按钮时,其所在表单组中的所有无效表单控件的值都会重置或设置为null 目前的方法包括: disableControl(group: FormGroup){ Object.keys(group.controls).forEach((key: string) => { const abstractControl = group.get(key); abstractControl.setValue(null)

我需要修改此方法,以便当用户单击按钮时,其所在表单组中的所有无效表单控件的值都会重置或设置为null

目前的方法包括:

    disableControl(group: FormGroup){
      Object.keys(group.controls).forEach((key: string) => {
      const abstractControl = group.get(key);
      abstractControl.setValue(null)
      abstractControl.disable();
     })
    }

当用户单击按钮时,任何无效的表单控件都应设置为null或重置。

您可以检查表单控件是否:

disableControl(组:FormGroup){
Object.key(group.controls).forEach((key:string)=>{
const abstractControl:abstractControl=group.get(键);
if(abstractControl.invalid){
abstractControl.reset();
//……或
//abstractControl.setValue(null);
}
})
}

仅供参考,禁用控件会将其值从表单组中删除。。。不确定您的实际用例是什么,但您所追求的可能并不需要。是的,这是我们在不同场景中使用的方法。新方法将用于另一个场景。太棒了,很高兴提供帮助!:)