使用多个按钮的正确方法
问题描述:
我正在用angular forms来构建一个,它可以很好地使用1个按钮。但是当我想要2个按钮时,很难处理。
我想要有1个按钮reset
和1个按钮submit
。 reset
必须放置在submit
之前。这里是模板:使用多个按钮的正确方法
<form (ngSubmit)="submit()" [formGroup]="form">
//inputs...
<button type="submit" (click)="reset($event)">reset</button>
<button type="submit">submit</button>
</form>
当我按下enter
在一个输入时,form
防火双方submit()
和reset($event)
功能。当我点击reset
按钮时也是如此。我的期望是:
- 当按下
enter
或点击submit
按钮,表单只火submit()
功能 - 当点击
reset
按钮形式只火reset()
功能
我能找到散步周围是在reset
按钮前添加一个隐藏按钮,并在reset()
函数中调用event.stopPropagation(); event.preventDefault()
。但它很丑。有没有干净的方法来做到这一点?任何帮助,将不胜感激。非常感谢!
答
您必须将您的重置按钮的type
设置为button
而不是submit
。你必须明确地设置它,因为属性type
的默认值是submit
:
<form (ngSubmit)="submit()" [formGroup]="form">
//inputs...
<button type="button" (click)="reset($event)">reset</button>
<button type="submit">submit</button>
</form>
只是删除'型=从复位按钮“提交”'..... – Claies
@Claies:我尝试过,但相同的行为 – Duannx