angular - 提交后重置角度表单
问题描述
我有角形式(非反应性):
<form #form="ngForm" (submit)="submit(); form.reset()">
<input ... />
</form>
但是提交后表单没有重置,输入仍然标记为已触摸。
请解释一下,我如何在 Angular 5 中重置表单?
StackBlitz:https ://stackblitz.com/edit/reset-form-demo-jdsdwe2
我想要什么:提交后清除焦点并标记为未触及。
解决方案
@angular/forms
当您使用标签时<form>
,它会自动创建一个 FormGroup。
对于每个包含的 ngModel 标记,它将创建一个 FormControl 并将其添加到上面创建的 FormGroup 中;此 FormControl 将使用属性名称命名为 FormGroup。
例子:
<form #f="ngForm">
<input type="text" [(ngModel)]="firstFieldVariable" name="firstField">
<span>{{ f.controls['firstField']?.value }}</span>
</form>
当您将其标记为standalone: true
不会发生时(它不会被添加到 FormGroup)。
推荐阅读
- xslt - 固定数量空格的 XSLT 格式编号
- c - 缓冲 UART RX 传入数据的最佳方法是什么?
- python - 从多个数据框中的列创建唯一列表,基于此创建 Excel 工作簿,并将数据框中的行放在不同的工作表上?
- scala - 如何使用 df.take() 显示表头?
- python - Django - 使用外部脚本从 url 下载图像并将它们插入到 imageField
- google-app-engine - 'gcloud deploy' 抱怨同时拥有 .gcloudignore 和 skip_files,即使我两者都没有
- database - 需要一些方向销售日期“休息”查询
- reporting - 在 Cognos BI 中对非数值数据进行交叉制表
- azure - 确保在 Azure 中按计划运行数千个 httprequest 的最佳方法是什么?
- python - psycopg2 - 多次插入,但插入一个公共时间戳