对象可能为空。打字稿错误(角度打字稿)

时间:2021-01-05 14:39:03

标签: javascript angular typescript

我想添加一个图像文件到“转换”功能。

这是我从 component.html 中输入的代码:

<li>
    <label for="avatarIMG" id="avatarLbL"> image: </label>
    <input type="file" accept="image/*" #imageBox name="image" id="avatarinput" (change)="convert($event)">
    <button type="button" id="avatarInputBTN" (click)="imageBox.click()"> Profile Picture </button>
</li>

该事件假设将对象的值连同表单中的所有值+图像文件发送到component.ts,这是它​​的代码:

public convert(e: Event): void {
    this.eventFiles = (e.target as HTMLInputElement).files[0];
    if (this.eventFiles !== null) {
        this.user.image = this.eventFiles;
        const fileReader = new FileReader();
        fileReader.onload = args => this.preview = args.target?.result?.toString();
        fileReader.readAsDataURL(this.eventFiles);
    }
}

我收到一个错误,对象可能为 null for (e.target as HTMLInputElement).files[0]。

我该如何解决这个问题?..

1 个答案:

答案 0 :(得分:1)

试试这个:

this.eventFiles = (e.target as HTMLInputElement)?.files?.[0];
相关问题