【发布时间】:2020-11-10 03:45:28
【问题描述】:
我正在尝试使用 ant 设计库中的 Dragger 组件上传整个文件夹,但我不确定如何仅将允许的项目显示为向用户显示的最终列表的一部分.根据下面的屏幕截图,可以看到我的不允许文件 stats.js 显示为红色,表示发生了错误,但最好是它不存在,这样用户就不必删除它,但我还没有找到实现这一目标的方法。
import React, {useState} from 'react';
import 'antd/dist/antd.css';
import {Upload, message} from 'antd';
import {InboxOutlined} from '@ant-design/icons';
const {Dragger} = Upload;
function FileUpload(props) {
const allowedFiles = ["stats.json", "index.html"];
const config = {
name: 'file',
directory: true,
onChange(info) {
const {status} = info.file;
if (status !== 'uploading') {
console.log(info.file, info.fileList);
}
if (status === 'done') {
props.onFileAdded(info.fileList)
} else if (status === 'error') {
message.error(`${info.file.name} file upload failed.`);
}
},
beforeUpload: file => {
if (allowedFiles.includes(file.name)) {
return false;
}
},
};
return (
<div>
<Dragger {...config}>
<p className="ant-upload-drag-icon">
<InboxOutlined/>
</p>
<p className="ant-upload-text">Click or drag file to this area to upload</p>
<p className="ant-upload-hint">
Support for a single or bulk upload.
</p>
</Dragger>
</div>
);
}
export default FileUpload;
非常感谢。
【问题讨论】:
标签: javascript reactjs file-upload antd