antd官网的upload没有写上设置进度的方法,可是它列举的几个例子有的有进度条显示,有的没有进度条显示(例如最后的拖拽上传的例子) 请问如何可以将upload和progress结合起来
antd官网的upload没有写上设置进度的方法,可是它列举的几个例子有的有进度条显示,有的没有进度条显示(例如最后的拖拽上传的例子) 请问如何可以将upload和progress结合起来
楼上正解,这是我从官方实例复制的代码,
import { Upload, Icon, message } from 'antd';
function getBase64(img, callback) {
const reader = new FileReader();
reader.addEventListener('load', () => callback(reader.result));
reader.readAsDataURL(img);
}
function beforeUpload(file) {
const isJPG = file.type === 'image/jpeg';
if (!isJPG) {
message.error('You can only upload JPG file!');
}
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isLt2M) {
message.error('Image must smaller than 2MB!');
}
return isJPG && isLt2M;
}
class Avatar extends React.Component {
state = {};
handleChange = (info) => {
if (info.file.status === 'done') {
// Get this url from response in real world.
getBase64(info.file.originFileObj, imageUrl => this.setState({ imageUrl }));
}
}
render() {
const imageUrl = this.state.imageUrl;
return (
<Upload
className="avatar-uploader"
name="avatar"
showUploadList={false}
action="//jsonplaceholder.typicode.com/posts/"
beforeUpload={beforeUpload}
onChange={this.handleChange}
>
{
imageUrl ?
<img src={imageUrl} alt="" className="avatar" /> :
<Icon type="plus" className="avatar-uploader-trigger" />
}
</Upload>
);
}
}
ReactDOM.render(<Avatar />, mountNode);
https://juejin.im/post/5e984a...
自定义Upload上传逻辑和展示
涉及到的属性
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答873 阅读✓ 已解决
4 回答1.6k 阅读
6 回答1k 阅读
upload-cn-onChange
看文档要仔细点.
链接最下面有说明,在
onChange
事件中可以拿到进度.