antd upload reponse.data 为空清空filelist
时间: 2023-12-10 13:40:47 浏览: 92
vue所需文件.rar
你好,如果上传文件后服务器返回的 `response.data` 为空,可以通过清空 `fileList` 来处理:
```jsx
import { Upload, message } from 'antd';
const MyUpload = () => {
const [fileList, setFileList] = useState([]);
const handleChange = ({ fileList, file }) => {
if (file.response && file.response.data) {
// 处理返回数据
} else if (file.status === 'error') {
message.error(`${file.name} 上传失败`);
}
setFileList(fileList.filter((file) => !!file.response));
};
return (
<Upload
action="/api/upload"
fileList={fileList}
onChange={handleChange}
>
{/* ... */}
</Upload>
);
};
```
在 `handleChange` 函数中,如果上传的文件返回的 `response.data` 为空,则从 `fileList` 中过滤掉该文件。这样就可以确保不会显示上传失败的文件,同时也不会显示上传成功但是没有返回数据的文件。
阅读全文