我有Angular形式(不反应):
<form #form="ngForm" (submit)="submit(); form.reset()">
<input ... />
</form>
但表单在提交后不会重置,输入仍标记为已触摸。
请解释一下,我如何在Angular 5中重置表单?
StackBlitz:https://stackblitz.com/edit/reset-form-demo-jdsdwe2
我想要的是:提交后清晰对焦并标记为未触及。
答案 0 :(得分:1)
使用@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中)。