首页 > 解决方案 > 在点击事件中删除输入文件的特定索引

问题描述

在这里,我有接受多个文件的输入文件。现在我想从输入文件中删除索引项 2。这是我的html和js代码。在这里,我收到 JS 错误。你的把戏将是宝贵的。

HTML

<input type="file" multiple id="uploadFile" />
<button type="button" id="removeFile">
  Remove one file
</button>

JAVASCRIPT

  let uploadFile=document.getElementById("uploadFile");
        let removeFile=document.getElementById("removeFile");
        uploadFile.addEventListener("change",function(event){
          console.log(event.currentTarget.files);
        })
        removeFile.addEventListener("click",function(event){
            let uploadFile=document.getElementById("uploadFile");
            let files=uploadFile.files[0];
            uploadFile.files.slice(1,1);
            console.log(uploadFile.files);
        })

标签: javascriptfile

解决方案


files属性input[type=file]是类型FileList,而不是数组,因此没有切片方法开始。

https://developer.mozilla.org/en-US/docs/Web/API/FileList

但没有什么能阻止您先将文件复制到数组中

var files = [].slice.call(uploadFile.files)
console.log(files.slice(1,1))
// or directly
var files = [].slice.call(uploadFile.files,1,1)
files.splice(0,1); // remove the first file, you can also use files.shift()
console.log(files)

推荐阅读