Javascript 使原始角度形状控件变脏
Angular 4中有一个被动形式,一些控件应该在某个点以编程方式设置Javascript 使原始角度形状控件变脏,javascript,angular,typescript,angular-reactive-forms,Javascript,Angular,Typescript,Angular Reactive Forms,Angular 4中有一个被动形式,一些控件应该在某个点以编程方式设置 this.form = formBuilder.group({ foo: '' }); ... this.form.controls.foo.setValue('foo'); 如何控制原始/脏状态受到影响?目前我正在使用表单和foo原始状态,类似于: <form [formGroup]="form"> <input [formControl]="form.controls.foo"> <
this.form = formBuilder.group({
foo: ''
});
...
this.form.controls.foo.setValue('foo');
如何控制原始/脏状态受到影响?目前我正在使用表单
和foo
原始状态,类似于:
<form [formGroup]="form">
<input [formControl]="form.controls.foo">
</form>
<p *ngIf="form.controls.foo.pristine">
{{ form.controls.foo.errors | json }}
</p>
<button [disabled]="form.pristine">Submit</button>
{{form.controls.foo.errors | json}
提交
如果pristine/dirty应该只指定人与人之间的交互,并且不能以编程方式更改,那么这里最好的解决方案是什么?formControl的每个实例都有
markAsDirty()和markAsPristine()
方法,因此,您应该能够运行
this.form.controls.foo.markAsPristine()
或者更好,使用反应式表单API:
this.form.get('foo').markAsPristine()
甚至
this.form.markAsPristine()
同样的方法也可以用markAsDirty()
methodmarkAsDirty像个符咒一样工作!