Antd文件上传组件使用beforeUpload属性将要上传的文件传递给服务器。在文件上传之后,组件逻辑应该将文件状态重置为初始状态。但是,在某些情况下,此过程可能不起作用,导致下次上传可能出现问题。 解决方法是手动将上传文件重置为null。在resetUpload方法中设置state重置后,将file设置为null即可解决问题。示例代码如下:
import React, { Component } from 'react'; import { Upload, Button } from 'antd';
class FileUpload extends Component { state = { file: null, };
handleFileChange = (file) => { console.log('handleFileChange:', file); this.setState({ file }); };
resetUpload = () => { this.setState({ file: null }); };
render() { const { file } = this.state;
const uploadProps = {
beforeUpload: (file) => {
this.handleFileChange(file);
return false;
},
};
return (
);
} }
export default FileUpload;