Vue TypeScript项目中事件的类型是什么?

时间:2019-03-13 11:07:43

标签: typescript vue.js

与uploadImage函数参数中的'e'正确的类型是什么?

public uploadImage(e /* :type of e */){
 const image = e.target.files[0];
 const reader = new FileReader();
 reader.readAsDataURL(image);
 reader.onload = e =>{
    this.previewImage = e.target.result;
    console.log(this.previewImage);
 };
}

在模板中我有这个

<input type="file" accept="image/jpeg" @change=uploadImage>

2 个答案:

答案 0 :(得分:0)

类型仅为Event。相关信息位于e.target属性上。

答案 1 :(得分:-1)

如果将类型指定为Event,那么您将无法执行e.target.files[0];,因为TS会抱怨Property 'files' does not exist on type 'target' error in typescript。最简单的解决方案是将其类型指定为any,在这里引用shusson的解决方案:Property 'files' does not exist on type 'EventTarget' error in typescript,但即使这样对我也不起作用,所以我最终只是对该特定Vue组件不使用TS