我正在使用以下代码读取本地存储文件的内容。
onFile(event: any) {
console.log(event);
const file = event.target.files[0];
const reader = new FileReader();
reader.onloadend = (ev: any) => { console.log(ev); };
reader.readAsText(file);
}
调查两个控制台输出,我看到打印出的两种类型是Event和ProgressEvent。因此,我重构了我的方法以使参数类型与之相对应。
onFile(event: Event) {
console.log(event);
const file = event.target.files[0];
const reader = new FileReader();
reader.onloadend = (ev: ProgressEvent) => { console.log(ev, $event.target.result); };
reader.readAsText(file);
}
但是,尽管我这样做了,但仍然看到TsLint关于files [0]和result的na式。我是否为操作指定了错误的类型?在这种情况下合适的类型是什么?
target.files只是输入事件目标上的一个属性。编译器不知道您要传递给它的事件的类型,并且没有类型输入的事件可以作为对象类型提供给该事件。您要么需要自己创建一个,要么保留任何内容。 => https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement