Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TS2345:类型为'的参数;事件';不可分配给类型为';HtmlInputEvent';_Javascript_Angular_Types_Web Frontend - Fatal编程技术网

Javascript TS2345:类型为'的参数;事件';不可分配给类型为';HtmlInputEvent';

Javascript TS2345:类型为'的参数;事件';不可分配给类型为';HtmlInputEvent';,javascript,angular,types,web-frontend,Javascript,Angular,Types,Web Frontend,我试图上传一个文件,但我得到了错误,请帮助我编译 角度误差: 来自component.ts的代码 interface HtmlInputEvent extends Event{ target : HTMLInputElement & EventTarget; } export class AppComponent implements OnInit { public file :File; public imgSelect : String | ArrayBuffe

我试图上传一个文件,但我得到了错误,请帮助我编译

角度误差:

来自component.ts的代码

interface HtmlInputEvent extends Event{
  target : HTMLInputElement & EventTarget;
} 

export class AppComponent implements OnInit {
  
  public file :File;
  public imgSelect : String | ArrayBuffer;

  imgSelected(event: HtmlInputEvent){
    if(event.target.files  && event.target.files[0]){
        this.file = <File>event.target.files[0];

        const reader = new FileReader();
        reader.onload = e => this.imgSelect = reader.result as String;
        reader.readAsDataURL(this.file);
    }
  }
}
接口HtmlInputEvent扩展事件{
目标:HTMLInputElement和EventTarget;
} 
导出类AppComponent实现OnInit{
公共档案:档案;
公共imgSelect:String | ArrayBuffer;
imgSelected(事件:HtmlInputEvent){
if(event.target.files&&event.target.files[0]){
this.file=event.target.files[0];
const reader=new FileReader();
reader.onload=e=>this.imgSelect=reader.result作为字符串;
reader.readAsDataURL(this.file);
}
}
}
来自Html的代码

<div class="text-center">
      <img alt="Chris Wood" [src]="imgSelect || '../../../../assets/img/default.jpg'" class="rounded-circle img-responsive mt-2" width="128" height="128">
      <div class="mt-2">
          <input class="btn btn-primary" required (change)="imgSelected($event)" type="file" style="width: 100% !important;">
      </div>>
  </div>

>

请阅读错误消息:

Type 'EventTarget | null' is not assignable to type 'HTMLInputElement & EventTarget'.
您的代码正在或可能正在尝试将
null
设置为
HTMLInputElement
EventTarget
。由于
null
不是其中之一,您需要更新
接口
,因此也允许使用null值:

interface HtmlInputEvent extends Event {
  target: HTMLInputElement & EventTarget | null;
}

请参阅TypeScript手册中的帮助。

您是否也可以提供
imgSelected
的代码。谢谢。代码已经存在,谢谢请在问题中包含您已经尝试过的内容。例如,如果您已经尝试在
tsconfig.json
中设置
“strict”:false
,您应该让我们知道。
interface HtmlInputEvent extends Event {
  target: HTMLInputElement & EventTarget | null;
}