类型错误 - 事件对象的对象可能为“空”

问题描述

在我的 angular 应用程序中,我正在使用下面的这个函数

@HostListener('drop',['$event'])
    onDrop(event: DragEvent): void {
        const textData = event.dataTransfer.getData('text');
        this.inputElement.focus();
        this.pasteData(textData);
        event.preventDefault();
}

Tslint 在这里抱怨 event.dataTransfer。我收到此错误 - 返回事件的 DataTransfer 对象。对象可能为“空”。

解决方法

如果您打开了 TSLint 的错误捕获,这很常见。

您可以使用以下任何一种。

if(event.dataTransfer != undefined){
    const textData = event.dataTransfer.getData('text');
}

或者简单地(注意 ?

const textData = event.dataTransfer?.getData('text');