• 说明:在使用Antd 的 Upload 组件 的onChange()方法中,打印fileList 中的文件状态status 一直是 uploading,无法拿到上传文件后服务端响应的内容,且组件下方不显示文件列表问题,以下是解决方法:
const Dragger = Upload.Dragger;constructor(props) {super(props);this.state = {fileList: [],};}
<DraggerlistType={"picture"}action={uploadUrl}accept={acceptPictype}disabled={upLoadDisabled}beforeUpload={() => {}}fileList={isScanSuccess?[]:this.state.fileList}onChange={(data) => {console.log(data)const { fileList, file } = data;//自己的逻辑this.setState({ fileList: [...fileList] });//这段代码放在处理逻辑的最后面  }                           }}>
在github[解答](https://github.com/ant-design/ant-design/issues/2423)上此问题解答:对于受控模式,你应该在 onChange 中始终 setState fileList,保证所有状态同步到 Upload 内。类似这里的写法:http://ant.design/components/upload/#components-upload-demo-fileList// good  正确写法onFileChange(fileList) {if ( ... ) {...} else {...}// always setStatethis.setState({ fileList: [...fileList] });
}
<Upload fileList={this.state.fileList} onChange={this.onFileChange} />
// bad 写法
onFileChange(fileList) {if ( ... ) {this.setState({ fileList: [...fileList] });} else {...}
}
<Upload fileList={this.state.fileList} onChange={this.onFileChange} />
建议研习受控组件概念:https://facebook.github.io/react/docs/forms.html#controlled-components
注意需要克隆 fileList 以保障 Upload 能感知数组变化。
- this.setState({ fileList });
+ this.setState({ fileList: [...fileList] });

Antd 的 Upload 上传组件 uploading 状态踩坑记相关推荐

  1. Element中Upload上传组件的http-request方法

    刚开始接触vue,新框架是vue+Element.其中写到上传组件的时候卡住了.问题详细: Upload上传组件中的action是必选参数,但是调后台接口的时候需要手动加参数和token,比较麻烦. ...

  2. 我是如何设计 Upload 上传组件的

    Upload 组件设计的目标是解决用户上传文件的便利性,但是中后台 Upload 组件的场景是多种多样的,所以可扩展能力是 Upload 组件不可忽视的另一方面. 同样为了大家能够更加容易的理解,我会 ...

  3. 前端学习(2011)vue之电商管理系统电商系统之初步使用upload上传组件

    目录结构 router.js import Vue from 'vue' import Router from 'vue-router' import Login from './components ...

  4. element-ui upload 上传组件附带额外参数进行上传(表单形式,多个参数)

    之前一直使用upload组件单个上传文件,最近遇到需要上传表单字段,表单中有多个参数 下图是接口要求: 官网上传组件中提供了响应的功能实现,但是demo中未演示,不注意看文档参数的话,可能会不知道这个 ...

  5. antd vue3 图片上传组件扩展,支持多图上传 图片拖拽排序等

    组件涉及到 vue3.2.vite.Ant Design Vue 3.2.16.Windi CSS样式库.vuedraggable-es拖拽库等 组件功能 图片拖拽 多图上传 自定义图片加载样式 自定 ...

  6. 页面中使用多个element-ui upload上传组件时绑定对应元素

    elemet-ui里提供的upload文件上传组件,功能很强大,能满足单独使用的需求,但是有时候会存在多次复用上传组件的需求,如下图的样子,这时候就出现了问题,页面上有多个上传组件时,要怎么操作呢? ...

  7. LayUI upload上传组件上传文件的两种方式(手动上传、自动上传)

    1 手动上传 上传文件分为两步,第一步选择文件,第二步上传文件. HTML代码: <input type='button' id='selectFile' value='选择文件'> &l ...

  8. uniapp - 全平台兼容的 “多图上传“ 功能,搭配 uview 组件库中的 upload 上传组件(附带详细的示例源码及注释,可直接复制使用或简单修改)

    效果图 使用 uniapp 开发,多平台全端兼容的多图上传功能,支持限制个数及移除等. 组件库使用的是 uview 框架,上传组件基于 Upload组件,功能完美无bug. 准备阶段 Upload组件 ...

  9. 前端学习(2695):重读vue电商网站16之Upload 上传组件

    通过点击或者拖拽上传文件 Js <!-- action表示图片上传后台api地址 --> <el-upload:action="uploadURL":on-pre ...

最新文章

  1. 利用python中的gzip模块压缩和解压数据流和文件
  2. Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台项目
  3. 自制爬虫,爬取分类总阅读量,总评论量。全部文章阅读量和,以及评论量和。但是发现数据不对
  4. 使用lisp函数控制cursor
  5. 【Python基础】Python 10 个习惯用法,看看你都知道不?
  6. spring的aop整理
  7. tp5.0路由route.php,thinkphp5.1使用Route路由
  8. 32位JDK和64位JDK
  9. 四个变量的图表怎么做_品牌策划方案怎么做?5步图文帮你绘制专业策划图表...
  10. 【很久之前的一篇老文章】一位程序员工作10年总结的13个忠告
  11. python 类 对象 方法 应用_Python 定制类与其对象的创建和应用
  12. h5禁止页面长按操作_解决HTML5对手机页面长按会粘贴复制禁用的方法-H5教程
  13. Boost电路小信号建模分析
  14. BP神经网络的非线性曲线拟合和预测(未完)
  15. 2017计算机二级ms office高级应用成绩查询
  16. android pc模拟器哪个好用,电脑手游安卓模拟器哪个好用流畅 好用的安卓模拟器...
  17. 谷歌三大核心技术:from--http://blog.csdn.net/together_cz/article/details/66969003
  18. 【erdas】使用行政界线分割栅格影像
  19. html css 清除 button 选中时的边框样式 CSS outline属性
  20. KeyShot Pro 9 v9.0 安装教程(含下载文件)

热门文章

  1. 计算机itunes无法安装,itunes无法安装电脑
  2. 网络:access和trunk端口和hybird端口的区别
  3. bash 基础命令
  4. 自然角度论有机体的反脆弱性
  5. 保研夏令营-南大、哈工、天大、中山、北理
  6. c语言常用几进制,C语言中你知道有哪些进制吗?
  7. 叮咚!您有蜡笔射手等五个新的软件,请注意查收哦
  8. 三个故事重新认识roe风和争势
  9. 落枕的原因 神奇穴位 预防落枕
  10. Python丨使用selenium实现批量文件下载