在beforeUpload函数返回false时,手动清除上传文件列表中的该文件即可解决该问题。
代码示例:
const [fileList, setFileList] = useState([])
const beforeUpload = (file) => {
// some validation
if (validationFailed) {
return false;
}
return true;
}
const handleUploadChange = ({ fileList: newFileList }) => {
if (newFileList.some(file => !file.status)) {
// prevent appending file when beforeUpload returns false
const appendedFiles = newFileList.filter(file => !file.status);
const clearedFiles = fileList.filter(file => !appendedFiles.includes(file.uid));
setFileList([...clearedFiles, ...appendedFiles]);
} else {
setFileList(newFileList);
}
}
上一篇:Antd文件上传不会重置