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

Angular对话框取消按钮如何禁用表单校验实现一键关闭

问题根因

位于<form>标签内的button元素默认type属性值为submit,点击时会优先触发表单提交校验逻辑,因此首次点击取消按钮时会先执行表单校验,没有直接触发关闭方法。

修复方案(推荐)

给取消按钮显式添加type="button"属性,明确标记该按钮为普通操作按钮,不会触发表单提交相关的校验逻辑,点击即可直接执行关闭方法:
修改后的HTML代码:

<button type="button" mat-button (click)="closeDialog()" mat-flat-button>Cancel</button>

可选替代方案

如果场景不允许修改按钮type属性,也可以在点击事件中主动阻止默认提交行为:

<button mat-button (click)="$event.preventDefault(); closeDialog()" mat-flat-button>Cancel</button>

以上两种方案修改后,点击取消按钮都可以直接关闭对话框,无需触发表单校验。

内容的提问来源于stack exchange,提问作者H Jafari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:15:05