[英]Clear Angular FormControls after save without form errors
我有以下代码:
initializeForm(): void {
this.myForm = new FormGroup({
name: new FormControl('hello world', Validators.required)
});
}
clearValues(): void {
// save my form.. or do something, then clear my form
this.myForm.patchValue({ name: null });
}
然后在我的 html 中,我有输入和一些按钮来保存更改。 之后我调用 clearValues。
<input type=text formControlName="name">
<button (click)="clearValues()">Save</button>
当我启动我的应用程序时,该字段没有红色错误,因此我可以输入所有内容,但如果我将其留空,则会出现红色错误(显然)。
如果我写了诸如“Hello World”之类的东西,我就保存了。 输入变为空并出现红色错误。
我尝试使用markAsTouched()或markAsDirty ,但结果相同。
如何单击按钮并使输入不出错?
这就是我得到的,我想要一个没有错误输入的空。
在表格 object 上有一个function。
this.myForm.resetForm();
我最终这样做了:
this.myForm.reset();
Object.keys(this.myForm.controls).forEach(key => {
this.myForm.controls[key].setErrors(null);
});
以这种方式工作。 谢谢你们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.