簡體   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