|
angular material 中form表单提交时赋值,无法触发input输入框的样式,使用给FormGroup赋值的方式
onSubmit() {
Object.values(this.formGroup.controls).forEach(i=>{
i.marksAsDirty();
})
this.formGroup.patchValue(this.formGroup.getRowValue())
if(this.formGroup.invalid){
return;
}
}
// 需要在app.module.ts 中添加 import { errorStateMatcher, showOnDirtyErrorStateMatcher } from '@angular/material'
providers: [
{ provide: errorStateMatcher, useClass: showOnDirtyErrorStateMatcher }
],
-------------------------------------------------------------------------------------------------------
对于单个的formControl的操作赋值触发校验的情况下,可以使用如下方式:
this.formControl.setValue(''); // 只有此行可以触发FormControl的invalid是true,但是结合material 的mat-form-field无法触发<mat-error>的错误显示
this.formControl.markAsDirty();
this.formControl.updateValueAndValidity(); // 这两行等价于上面formGroup的赋值校验
来源:https://www.cnblogs.com/lskzj/p/11444937.html |