如何在Angular中将表单控件重置为pristine?

时间:2017-12-12 14:59:03

标签: angular

如果我有以下表格控件,

<mat-form-field class="example-full-width">
    <input matInput placeholder="First Name" type="text" class="form-control" name="firstName" [(ngModel)]="firstName">
</mat-form-field>

如何从组件中将其状态重置回ng-pristine?

1 个答案:

答案 0 :(得分:3)

这会将每个ngModel标记为表单中的原始状态。如果你想将pristine标记为特定的一个,只需在forEach循环中放入一个条件

&#13;
&#13;
class //bla bla bla {
@ViewChildren(NgModel) fields: QueryList<NgModel>;

// stuffs

checkErrors() {
  this.fields.forEach(model => {
    model.control.markAsPristine();
  }
};
&#13;
&#13;
&#13;

如果您想重置价值,只需在原始标记

之前添加model.control.reset();即可