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