我的不是问题,而是一个问题。
我有一种方法可以更改FormGroup中的验证器,并且如果删除cdRef.detectChanges()
,则会收到如下错误消息:
在检查到错误后更改了表达式。
在<select>
html
元素的(更改)事件中调用此方法。
我有此代码
constructor(
private service: LoaderFreeService,
private cdRef: ChangeDetectorRef
){}
....
setRequiredOffice() {
if (this.loaderFreeModalForm.get("startingScope").value === "ROLE") {
this.cdRef.detectChanges();
this.loaderFreeModalForm
.get("startingOfficeName")
.setValidators(Validators.required);
this.cdRef.detectChanges();
} else {
this.cdRef.detectChanges();
this.loaderFreeModalForm.get("startingOfficeName").clearValidators();
this.cdRef.detectChanges();
}
}
编辑:我也尝试过使用this.loaderFreeModalForm.updateValueAndValidity()
,但它仍然向我显示此错误。