import React, { Component } from 'react' import { Form, Upload, Button, message } from 'antd'; export default @Form.create() class ImgUpload extends Component { handleSubmit = e => { e.preventDefault(); this.props.form.validateFields((err, values) => { if (!err) { console.log(values); } }) } // 上传之前做一些验证 beforeUpload = e => { if( e.type != 'image/png' ) { message.error('格式不对') return false } } // 准备上传,上传中,上传后 normFile = e => { if( e.file.type != 'image/png' ) return false //这里也做一个验证 if ( Array.isArray(e) ) return e return e && e.fileList; } render() { const { getFieldDecorator } = this.props.form return ( <div className='page_imgUpload'> <Form onSubmit={this.handleSubmit}> <Form.Item label="Upload"> {getFieldDecorator('upload', { valuePropName: 'fileList', getValueFromEvent: this.normFile, })( <Upload name="file" //这个name 字段是后台接口的一个参数名,必填 action="https://www.mocky.io/v2/5cc8019d300000980a055e76" beforeUpload = {this.beforeUpload} //上传前的回调,用来处理用户格式不正确的逻辑 > <Button> Click to upload </Button> </Upload>, )} </Form.Item> <Form.Item> <Button type="primary" htmlType="submit"> Submit </Button> </Form.Item> </Form> </div> ) } }