Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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 如何扩展DOM文件列表类型以便我可以使用数组过滤器?_Javascript_Typescript - Fatal编程技术网

Javascript 如何扩展DOM文件列表类型以便我可以使用数组过滤器?

Javascript 如何扩展DOM文件列表类型以便我可以使用数组过滤器?,javascript,typescript,Javascript,Typescript,我已经尝试了几种不同的方法来过滤我的文本,而不会出现任何类型的错误。我已经用一个简单的。但由于箭头函数的强大功能,它是一条直线与带有for循环的两条直线的对比。有人有什么建议吗?提前谢谢。请看下面我到目前为止所做的尝试 onDrop(evt:DragEvent){ let files:FileList=evt.dataTransfer.files; //结果:类型“File[]”中缺少属性“item”,但类型“FileList”中需要属性“item”。ts(2741) files=Array.f

我已经尝试了几种不同的方法来过滤我的文本,而不会出现任何类型的错误。我已经用一个简单的。但由于箭头函数的强大功能,它是一条直线与带有for循环的两条直线的对比。有人有什么建议吗?提前谢谢。请看下面我到目前为止所做的尝试

onDrop(evt:DragEvent){
let files:FileList=evt.dataTransfer.files;
//结果:类型“File[]”中缺少属性“item”,但类型“FileList”中需要属性“item”。ts(2741)
files=Array.from(files.filter)((file:file)=>file.type=='text/csv');
//类型“FileList”不是数组类型。ts(2461)
[…文件].filter((文件:文件)=>file.type=='text/csv');
}
//没有类型错误
常量filteredFileList=[];
for(让index=0;index
tsconfig.json

{
“保存”:false,
“编译器选项”:{
“noUnusedLocals”:正确,
“noUnusedParameters”:正确,
“outDir”:“/dist/out tsc”,
“baseUrl”:“src”,
“源地图”:正确,
“声明”:虚假,
“moduleResolution”:“节点”,
“emit decoromentadata”:正确,
“实验生态学者”:没错,
“目标”:“es5”,
“typeRoots”:[“node_modules/@types”],
“lib”:[“es2017”,“dom”]
},
“角度编译器选项”:{
“使能常春藤”:错误
}
}

您的问题是,您试图将
文件[]
设置为
文件列表
,但您不能这样做,因为这是两种不同的类型,并且不能从另一种类型继承

您需要像在for循环中一样,将
文件[]
保存到一个新变量中

onDrop(evt: DragEvent) {
  let files: FileList = evt.dataTransfer.files;

  const filteredFileList: File[] = [...files].filter((file: File) => file.type === 'text/csv');
}

您需要将
“dom.iterable”
添加到
libs
列表中,并使用
es2015
或更高版本的目标,以便支持使用
[…文件]
文件列表
转换为
文件[]
,您使用的是哪个版本的typescript?我使用的是3.2.4,但仍然会出现相同的错误。我使用的是3.3.1您的
tsconfig.json
是什么样子的?问题可能是将
“dom.iterable”
添加到您的
lib
数组中。然后我还更改了目标:
“target”:“es2017”
es2015
es2016
工作。