离子相机:没有用于名称控制表单的值访问器

时间:2018-10-25 15:25:30

标签: angular ionic-framework cordova-plugins

我在Ionic应用程序中使用 cordova-plugin-camera 插件。我设法使相机拍照并在出现以下错误后显示:

No value accessor for form control with name 'photo'

我想我可能不完全了解FormBuilder的工作方式。这是我得到的:

register.html

<img *ngIf="register_form.controls.photo.value != ''" formControlName="photo" [src]="domSanitizer.bypassSecurityTrustUrl(register_form.controls.photo.value)" />

register.ts文件

ionViewWillLoad() {
  this.register_form = this.formBuilder.group({
    ...
    photo: new FormControl('', Validators.required)
  });
}
...
onTakePicture(){
  ...
  this.camera.getPicture(options).then((imageData) => {
        const image: FormControl = (<any>this.register_form).controls.photo;
        image.setValue('data:image/jpeg;base64,' + imageData);
    }, (err) => {
  });
}

怎么了?

1 个答案:

答案 0 :(得分:1)

formControlName仅可用于实现directives的控件或ControlValueAccessor。由于您使用的是未实现ControlValueAccessor的img,因此无法在此处使用。

有关更多信息,请访问-https://angular.io/api/forms/ControlValueAccessor