Angular 2表单reset()不重置_submitted或submit的值

Foo*_*azz 2 angular2-forms angular

有没有办法让form.reset()也重新将值form.submitted重置为false?这在我的情况下很烦人,因为我使用form.submitted作为条件来显示模板中的验证错误.这意味着在清除(重置)表单后会显示验证错误.

模板:

<form ... #f="ngForm" (ngSubmit)="f.form.valid && submitProduct(f)>
  <input type="text" name="productName" [(ngModel)]="product.name" #productName="ngModel" required>
  <div *ngIf="f.submitted && !productName.valid">Product name is required</div>
  <button type="submit" value="true" >Submit Request</button>
</form>
Run Code Online (Sandbox Code Playgroud)

零件:

submitProduct(form: NgForm) {
    this.productService.createProduct(this.product).subscribe(data => {
        form.reset();
        // HERE annoyingly validation errors show up on empty form.
      }
    );
}
Run Code Online (Sandbox Code Playgroud)

Foo*_*azz 9

我自己找到了答案.使用

form.resetForm(); 
Run Code Online (Sandbox Code Playgroud)

代替.这套设置为false和pristine为true.