我有两个输入上传文件,相同的功能和文件保存在推送的数组中
manyImage = []
selectImage(event) {
if (event.target.files.length > 0) {
this.manyImage.push(event.target.files)
}
console.log(this.manyImage)
}
当我使用console.log(this.manyImage(时
输出:
(2) [FileList, FileList]
0: FileList {0: File, length: 1}
1: FileList {0: File, length: 1}
length: 2
我需要什么:
当我上传两次不同的输入文件,但相同的功能,输出将像这个
我想要的输出:
0: FileList {0: File, 1: File, length: 2}
length: 1
我想将所有文件保存在一个数组中,并保存在FileList[0]的索引中,请帮助
尝试从FileList创建一个数组,并将第一个FileList数组与下一个连接起来。
我不确定你的mayImage数组是只有零个还是一个项目。如果会的话,你可以试试这个片段:
if (this.manyImage.length == 0) {
this.manyImage.push(
Array.from(event.target.files)
);
} else {
this.manyImage[0] = this.manyImage[0].concat(
Array.from(event.target.files)
);
如果manyImage数组将包含多个项,则需要指定将两个FileList合并到哪个项中,然后才能调整代码段。
您可以使用ES6破坏:
selectImage(event) {
if (event.target.files.length > 0) {
this.manyImage.push(...event.target.files);
}
console.log(this.manyImage)
}