提交后角度表单重置

时间:2018-05-12 19:29:09

标签: angular angular-forms

我有Angular形式(不反应):

<form #form="ngForm" (submit)="submit(); form.reset()">
 <input ... />
</form>

但表单在提交后不会重置,输入仍标记为已触摸。

请解释一下,我如何在Angular 5中重置表单?

StackBlitz:https://stackblitz.com/edit/reset-form-demo-jdsdwe2

我想要的是:提交后清晰对焦并标记为未触及。

1 个答案:

答案 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中)。