Angular FormGroup.reset触发ngSubmit事件

时间:2017-04-18 22:20:46

标签: html angular typescript

如果我有这样的表格:

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

stuff

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

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

</form>

...而reset方法是这样的:

reset(){
    this.someForm.reset();
}

如果点击submit按钮,则会调用我为ngSubmit提供的Reset方法。为什么呢?

我在API documentation

中看到了

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

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

总是这样吗?我是否应该在其他地方查看可以解释onlySelfemitEvent的文档?为什么有人希望表单重置以提交表单?

1 个答案:

答案 0 :(得分:2)

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

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