类型“ AbstractControl”的参数不能分配给“ FormControl”类型的参数

时间:2020-01-27 09:44:16

标签: angular angular9

从角度8迁移到角度9后,出现此错误

app / src / app / users / add / add.component.html:14:48中的错误-错误 NG2345:类型'AbstractControl'的参数不能分配给 “ FormControl”类型的参数。类型“ AbstractControl”丢失 类型'FormControl'的以下属性:registerOnChange, registerOnDisabledChange,_applyFormState

<ng-container *ngFor="let error of errors(addNewUserForm.get('username'))">

这是我的功能

errors(ctrl: FormControl): string[] {
   return ctrl.errors ? Object.keys(ctrl.errors) : [];
}

在角度8中,一切正常。谢谢

2 个答案:

答案 0 :(得分:0)

我使用$ any()解决此问题。自const res = await fetch(url); try { const data = await res.json(); const error = data.streamError || data.requestError; if (error) { // Error thrown from (2) is caught here displayErrorToUser(error); } } catch (err) { // Error thrown from (1) is caught here, but not parseable; // it is a generic 500 console.error('Parse error') } 以来一直在抱怨它,这很奇怪。

答案 1 :(得分:0)

我有同样的问题,将 FormControl 更改为 AbstractControl 解决了我的问题。此 article 详细解释了 Angular Forms、FormControl 和 AbstractControl。

errors(ctrl: AbstractControl): string[] {
   return ctrl.errors ? Object.keys(ctrl.errors) : [];
}