在 Angular 中,当使用 FormControl 时,在 Chrome 版本 80 上可能会出现一些奇怪的行为。这些问题可能包括表单控件无法正确更新、验证错误等。
解决这些问题的方法是确保你的 Angular 版本是最新的,并且升级到最新的 Chrome 版本。
另外,你可以尝试以下解决方法:
ngOnInit() {
this.myForm = new FormGroup({
myControl: new FormControl()
});
}
updateOn: 'change'
或 updateOn: 'blur'
属性,这样可以确保控件在变化或失焦时才会更新。例如:ngOnInit() {
this.myForm = new FormGroup({
myControl: new FormControl('', { updateOn: 'change' })
});
}
updateValueAndValidity()
方法来强制更新控件的值和验证状态。例如:this.myForm.get('myControl').updateValueAndValidity();
writeValue()
方法中正确更新值。例如:writeValue(value: any): void {
if (value !== this.innerValue) {
this.innerValue = value;
this.onChange(value);
this.onTouched();
this.updateValueAndValidity(); // 手动更新值和验证状态
}
}
这些方法可能会帮助你解决在 Chrome 版本 80 上 Angular FormControl 表现奇怪的问题。如果问题仍然存在,你可以尝试搜索 Angular 或 Chrome 的官方文档、报告问题或寻求帮助。