【问题标题】:Angular build error :"Argument of type 'AbstractControl' is not assignable to parameter of type 'FormControl'"角度构建错误:“'AbstractControl' 类型的参数不可分配给'FormControl' 类型的参数”
【发布时间】:2018-12-11 15:10:45
【问题描述】:

这是我尝试编译时遇到的错误(ng build --prod):

Error at /angular/src/app/.../xxx.component.html(xx,xxx): Argument of type 'AbstractControl' is not assignable to parameter of type 'FormControl'.
  Property 'registerOnChange' is missing in type 'AbstractControl'.

有问题的代码(假设):

        this.myForm = new FormGroup({
            oneField: new FormControl('', [Validators.required,customValidator()])
        });

和:

    ngChangeOnefield(event: FormControl){
        // some code...
    }

在我的 html 组件中,我有类似的内容:

<form [formGroup]="myForm" (ngSubmit)="onFormSubmit()">
    <!-- more code -->
    <htmltag (onSelect)="ngChangeOneField(oneField)"/>
    <!-- more code -->
</form>

【问题讨论】:

    标签: angular angular2-forms angular4-forms


    【解决方案1】:

    我通过更改代码解决了这个问题:

        ngChangeOnefield(event: FormControl){
            // some code...
        }
    

        ngChangeOnefield(event: AbstractControl){
            // some code...
        }
    

    所以对于 event 触发,好的事件类型是 AbstractControl 而不是 FormControl

    【讨论】:

    • 见鬼!!!!这解决了我的问题,非常感谢您分享这个!
    猜你喜欢
    • 2020-05-12
    • 2021-08-22
    • 2020-06-02
    • 1970-01-01
    • 2019-04-18
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    相关资源
    最近更新 更多