【发布时间】:2022-01-25 06:19:24
【问题描述】:
请先检查我的代码。
const test = () => {
const [files, setFiles] = useState ([]);
//I think I have to edit following statement.
const handleFile = (e) => {
const newFiles = []
for (let i=0; i < e.target.files.length; i++) {
newFiles.push(e.target.files[i])
}
setFiles(newFiles)
};
return (
{files.map((file, index) => (
<div>
<div key={index}>
<p>
{file.name}
</p>
<Button size='small' onClick={() => {deleteSelectedFile(file.name)}}>
Delete
</Button>
</div>
</div>
))}
<div>
<label onChange={handleFile}>
<input type='file' multiple />+ Attach File
</label>
</div>
)
}
通过handleFile语句,我可以适当的获取文件。
但是,当我一次上传一个文件,然后再次上传一个文件时,
文件未添加。文件替换文件。
一次上传多次没有问题。
例如,我上传了“hello.jpg”,它在屏幕上呈现得很好。然后,我上传了'goodbye.jpg',它渲染得很好,但是'goodbye.jpg'替换了'hello.jpg'。
因此,我看到的只是 'goodbye.jpg' [按钮],而不是
'hello.jpg' [按钮] 'goodbye.jpg' [按钮]
.
我希望我的文件堆叠起来,而不是替换。
我需要一些智慧!
【问题讨论】:
标签: javascript reactjs file next.js