做了个antd的上传简单封装,很烦。主要用的方法就是使用customRequest 这个覆盖上传组件的默认上传,实现自定义上传。有的地方可能比较low 因为我不知道其他方法。。

import React from 'react'
import {Icon,Upload,Modal} from 'antd'
import { uploadimg } from '../../api/login'
export default class UploadIcon extends React.Component{constructor(props) {super(props)const value = props.value || {};this.state = {previewImage: '',fileList: value|[],max:value.max|1}}customRequest = (option) => {const that = thisconst formData = new FormData();formData.append('photo', option.file);uploadimg(formData).then(res => {that.state.fileList.push({name: 'yyy.png',status: 'done',url: res.data[0].file_url,})that.state.fileList.map((v, i) => {v.uid = i})that.setState({fileList: that.state.fileList})that.props.onChange(that.state.fileList)})}render(){const {fileList,previewVisible,previewImage,max} = this.stateconst uploadButton = (<div><Icon type="plus" /><div className="ant-upload-text">Upload</div></div>);return (<div><Uploadaction=""listType="picture-card"customRequest={this.customRequest}fileList={fileList}onPreview={this.handlePreview}onChange={this.handleChange}>{fileList.length >= max ? null : uploadButton}</Upload><Modal visible={previewVisible} footer={null} onCancel={this.handleCancel}><img alt="example" style={{ width: '100%' }} src={previewImage} /></Modal></div>)}
}

下面的是antd 上传与form结合使用的方法,这个我在网上找了好久都没找到。。。。。

在form里写这个。然后因为他这个检测是用的方法来检测

<Form.Itemlabel="应用图标">{getFieldDecorator('icon', {initialValue: { iconList:[] },rules: [{ required: true,validator: this.checkImg }],})(<UploadIcon/> // 组件引入)}</Form.Item>

添加方法: callback就是返回的错误值。

checkImg = (rule, value, callback) => {console.log(value)if (value.length) {callback();return;}callback('请添加游戏图片');}

antd upload和form结合使用相关推荐

  1. antd Upload手动上传(react)

    情况介绍 在antd官方提供的upload组件案例中,都使用了action属性直接上传,唯一手动上传的一个例子(如下图)也不够好用,可能不能满足项目的需求,所以我们需要对其进行一些修改,并加入一些别的 ...

  2. antd Upload组件上传状态一直处于uploading

    antd Upload组件上传状态一直处于uploading 对于受控模式,需要在 onChange 中始终 setState fileList,保证所有状态同步到 Upload 内 import { ...

  3. antd upload手动上传_Flask上传文件

    Flask上传文件 上传文件包括很多,比如用户头像,文章图片,文件分享等等,它也涉及到很多内容:上传文件,过滤文件类型,限制大小,文件名的编辑,拖拽上传,进度条,文件命名,文件目录的管理等等. 文件上 ...

  4. antd upload取消图片删除按钮

    ** <UploadshowUploadList={{showRemoveIcon:false}}//加上这句代码onChange={this.uploadStateChange}beforeU ...

  5. antd Upload 自定义上传

    需求 由于使用antd 上传图片,在某些情况下,例如token 失效,导致上传图片错误,但是antd 组件始终会走onChange 事件 导致上传路径为空情况 解决办法 使用自定义上传 // 自定义上 ...

  6. 【Antd Design Upload】 antd Upload 上传时只有Uploading状态,无法获取返回的数据

    问题:antd Upload 上传时只触发Uploading状态,无法获取服务器返回的response,根据控制台的结果发现只有一种Uploading,上传图片时只触发了一次. 根据官网可以知道.上传 ...

  7. AntD Upload在React useState中使用问题

    主要代码 <Uploadaction="https://www.mocky.io/v2/5cc8019d300000980a055e76"listType="pic ...

  8. Antd Upload 文件上传,自定义上传错误信息

    项目需求 使用antd Upload 组件 项目上要求前端对上传不符合标准的图片展示具体的错误信息 不设置action,即返回信息无response ,先在前端上传后调用接口保存 效果截图 主要是根据 ...

  9. Antd Upload 和 Antd Form 结合的踩坑记录

    今天弄了半天这个上传组件结合表单组件的问题. 这个上传文件列表,如果是当前正在修改或者上传成功,当然是可以正常工作的,但是想要增加一个功能: 下次打开 Modal 时,表单字段中的上传文件字段,可以默 ...

最新文章

  1. 2021年大数据Flink(四十八):扩展阅读  Streaming File Sink
  2. PHP Misc. 函数
  3. java quartz 触发_手动触发Quartz作业
  4. python实现AES算法
  5. oracle asm 日志,Oracle+RAC+ASM数据库ora-00257日志归档器错误解决方法
  6. 解决ios10以上H5页面手势、双击缩放问题
  7. python操作excel表格写入多行和多列_python多处理:写入同一excel-fi
  8. dnf服务器合并信息,卤蛋带你看韩服!全体服务器合并改版信息互通
  9. 软件项目经理应该具备的心态
  10. 推荐几个程序员学习网站
  11. JSK-A1144 代码填空:阶梯三角形【水题】
  12. java 密钥库 口令_java密钥库和密码设置
  13. 计算机win10+上锁,手把手教你在windows 10右键菜单中添加Bitlocker上锁/解锁教程-网络教程与技术 -亦是美网络...
  14. 如何做员工满意度调查问卷?
  15. python运用ico图标,处理Django中的favicon.ico图标实例方法
  16. 数字鉴相器matlab,一种数字鉴相器的设计.pdf
  17. 论文笔记 Acquiring Common Sense Spatial Knowledge through Implicit Spatial Templates (AAAI2018)
  18. Springboot 阿里云OSS修改下载文件名称
  19. java爬取网易云歌单_爬虫爬取网易云歌单
  20. the password has expired解决方法

热门文章

  1. 干货分享丨一文给“物联网小白”讲清楚什么是无线通信模块
  2. MCU控制的电池管理是成功的物联网实现的关键
  3. 汇编语言程序设计——仿win7计算器(功能部分)
  4. bga封装扇出过孔_pads router“BGA封装扇出”
  5. 听完计算机讲座的感想,听讲座心得体会5篇
  6. python中的rt_Python 读写文件中w与wt, r与rt的区别
  7. 单相半波可控整流电路仿真设计(任务书+lunwen+MATLAB仿真源文件)
  8. 【CCF会议期刊推荐】CCF推荐国际学术期刊/会议(网络与信息安全)
  9. python翻译成中文_Python调用有道智云文本翻译API接口实现“智能”伪原创
  10. 解决macOS Sierra WI-FI无法连接网络