角度生成错误:“无法将类型“ AbstractControl”的参数分配给类型“ FormControl”的参数”

时间:2018-12-11 15:10:46

标签: angular angular2-forms angular4-forms

这是我尝试编译(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>

1 个答案:

答案 0 :(得分:0)

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

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

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

因此对于事件触发,事件的良好类型是 AbstractControl ,而不是FormControl