Javascript 如何从文件列表中删除特定文件?
我的目标是从文件列表中删除特定文件,但当我要删除最后一个文件时,将删除该文件而不是所需的文件 代码如下:Javascript 如何从文件列表中删除特定文件?,javascript,reactjs,Javascript,Reactjs,我的目标是从文件列表中删除特定文件,但当我要删除最后一个文件时,将删除该文件而不是所需的文件 代码如下: {this.state.myFiles.map(file => ( <p key={file.name}> {file.name} ({file.size} bytes) <button className={"material-icons delete"}
{this.state.myFiles.map(file => (
<p key={file.name}>
{file.name} ({file.size} bytes)
<button
className={"material-icons delete"}
onClick={() => this.handleRemoveFile(file.name)}
>
Remove file
</button>
</p>))}
我无法删除特定文件,它正在从文件列表中删除最后一个文件,有人可以帮助我从文件列表中删除特定文件吗
谢谢!提前。map提供了第二个参数,它是数组的索引
{this.state.myFiles.map((file,index) => (
<p key={file.name}>
{file.name} ({file.size} bytes)
<button
className={"material-icons delete"}
onClick={() => this.handleRemoveFile(index)}
>
Remove file
</button>
</p>))}
myFiles.indexOf(fileName)
不起作用,因为fileName是一个字符串,myFiles是一个对象数组。它将错误显示为未定义。我认为我们无法获得相应文件的id无需使用id,只需使用数组索引即可。筛选条件必须为索引!==fileIndexToRemoveStill我出错了什么错误。添加完整的错误消息或附加屏幕截图。
{this.state.myFiles.map((file,index) => (
<p key={file.name}>
{file.name} ({file.size} bytes)
<button
className={"material-icons delete"}
onClick={() => this.handleRemoveFile(index)}
>
Remove file
</button>
</p>))}
handleRemoveFile = (fileIndexToRemove) => {
const updatedFiles = this.state.myFiles.filter((file, index) => index !== fileIndexToRemove)
this.setState({ myFiles: updatedFiles })
}