javascript - 在点击事件中删除输入文件的特定索引
问题描述
在这里,我有接受多个文件的输入文件。现在我想从输入文件中删除索引项 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);
})
解决方案
的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)
推荐阅读
- c - 如何从文本文件中读取数据并将其存储在 C 语言的变量中?
- ios - IAP paymentQueue:updatedTransactions 直接给出交易状态为购买
- javascript - 通过将键值设置为对象的属性之一来修改 JavaScript 中的对象数组
- java - 如何在 Eclipse 4 RCP 插件项目中添加 32 位 SWT 库而不是 64 位库?
- linux - 文件修改后读取文件的最后一行
- python - 创建一个 python 代理服务器
- python - 如何使用 ManyToManyField 进行查询?
- java - ListView 将 OnItemClick 位置传递给另一个类
- typescript - Nestjs 依赖注入 - 将服务注入服务
- sql - ORACLE AUDIT_TRAIL