You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

mat-date-range-input在表单内按Enter触发按钮点击问题求助

解决mat-date-range-input在表单内按回车触发按钮点击的问题

方法1:给按钮设置明确的type属性

表单内的按钮默认type为submit,浏览器会在表单内按下回车时自动触发第一个submit按钮的点击事件。只需给按钮显式设置type="button",就能规避这个默认行为:

<button type="button" (click)="openEdit()">编辑</button>

方法2:在日期输入框上阻止回车的默认行为

如果无法修改按钮类型,或者第一种方案不生效,可以给mat-date-range-input绑定keydown.enter事件,调用preventDefault()阻止浏览器的表单提交默认行为——注意这里用preventDefault()而非stopPropagation(),因为问题根源是浏览器的默认表单行为,不是事件冒泡:

<mat-date-range-input (keydown.enter)="$event.preventDefault()">
  <input matStartDate placeholder="开始日期">
  <input matEndDate placeholder="结束日期">
</mat-date-range-input>

方法3:全局阻止表单的默认提交行为

如果整个表单不需要通过回车触发提交,可以直接给<form>标签绑定submit事件并阻止默认行为:

<form (submit)="$event.preventDefault()">
  <!-- 你的日期选择器和按钮代码 -->
</form>

内容的提问来源于stack exchange,提问作者Sergey Ch.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 13:18:10