繁体   English   中英

保存后清除 Angular FormControls 而不会出现表单错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM