Angular FormGroup.reset 正在触发 ngSubmit 事件

Wil*_*lyC 1 html typescript angular

如果我有这样的表格:

<form [formGroup]="someForm" novalidate (ngSubmit)="submit(someForm)">    

stuff

<button (click)="reset()">Reset</button>

<button type="submit">Submit</button>

</form>
Run Code Online (Sandbox Code Playgroud)

...方法reset是这样的:

reset(){
    this.someForm.reset();
}
Run Code Online (Sandbox Code Playgroud)

然后,如果我单击按钮submit,我提供的方法ngSubmit就会被调用Reset。为什么?

我在API文档中看到:

reset(value?: any, {onlySelf, emitEvent}?: {onlySelf?: boolean, emitEvent?: boolean}) : void

...但是onlySelf似乎emitEvent完全没有记录。该emitEvent部分是否触发表单提交?

一直都是这样吗?我还应该在其他地方查看解释onlySelf和的文档emitEvent吗?为什么有人想要重置表单来提交表单?

Deb*_*ahK 6

尝试指定重置按钮的类型。否则,它也可能默认为提交按钮。

<button type="button" (click)="reset()">Reset</button>
Run Code Online (Sandbox Code Playgroud)