React实战之Ant Design—Upload上传_附件上传

Upload组件大家都在官方文档中看过了,但写的时候还是会遇到许多问题,一些新手看了文档后感觉无从下手,本文过多的简绍就不说了,直接看代码和注释,直接用就行

我直接放在form表单中,因为实战中单个附件上传很少几,乎都在form表单中加入一个附件上传所以为了更好的应用,我直接就放在form表单中应用

import React, { PureComponent } from 'react';
import {Form, Button, Icon,Upload} from 'antd'; const FormItem = Form.Item;
@Form.create()
class xxx extends PureComponent {
state = {
fileList: [],//存放上传信息:比如路径、文件名
imgList: [],//存放回显信息:修改时的路径、文件名
}; //form表单提交事件
handleSubmit = e => {
const { dispatch, form } = this.props;
e.preventDefault();
form.validateFieldsAndScroll((err, values) => {
if (!err) {
const { imgList } = this.state
values.imgList = JSON.stringify(imgList);
console.log('values', values);
}
});
}; //上传事件
onChange = ({ fileList }) => {
console.log('file', fileList);
let imgList = [];
fileList.map(function (item, key) {
if (item.response && item.response.success) {
          console.log('item.response',item.response);
imgList.push({ url: item.response.url, Name: item.response.name });//这的参数具体看上传成功后返回的值,打印的item.response
} else {
//回显
if (item.url) {
//拼接'http:// 如果路径可以直接使用不需要拼接
imgList.push({ url: item.url.replace('http://', ""), Name: item.name });
}
}
});
this.setState({ fileList, imgList });
}
render() {//const {form: { getFieldDecorator, getFieldValue }} = this.props;
     const { fileList } = this.state
const props = {
name: 'UploadFile',//name得看接口需求,name与接口需要的name一致
action: 'http://.......',//接口路径
data: { },//接口需要的参数,无参数可以不写
multiple: true,//支持多个文件
showUploadList: true,//展示文件列表
} return (
        <Form onSubmit={this.handleSubmit}><FormItem label="附件">
            <Upload {...props}
              fileList={fileList}
              onChange={this.onChange}
>
  <Button>
                <Icon type="upload" /> 上传附件
              </Button>
  </Upload>,
  </FormItem>
           <FormItem >
            <Button type="primary" htmlType="submit" >
              提交
            </Button>
            </FormItem>
         </Form>
);
}
export default xxx;

  

代码可以用于新增功能和编辑功能,如有问题欢迎联系!不到之处多多指教

React实战之Ant Design—Upload上传_附件上传的更多相关文章

  1. Ant Design Upload 组件上传文件到云服务器 - 七牛云、腾讯云和阿里云的分别实现

    在前端项目中经常遇到上传文件的需求,ant design 作为 react 的前端框架,提供的 upload 组件为上传文件提供了很大的方便,官方提供的各种形式的上传基本上可以覆盖大多数的场景,但是对 ...

  2. 2017.11.7 ant design - upload 组件的使用, react 条件渲染以及 axios.all() 的使用

    一.主要任务:悉尼小程序管理后台,添加景点页面的开发 二.所遇问题及解决 1. 上传多个不同分类音频信息时,如中文音频和英文音频,要求音频不是放在一个数组中的,每个音频是一个独立的字段,此时: < ...

  3. React组件库Ant Design的安装与使用

    一.什么是 Ant Design 1.Ant Design 提炼自企业级中后台产品的交互语言和视觉风格 2.Ant Design 使用 TypeScript 构建,提供完整的类型定义文件 二.Ant ...

  4. react 编写 基于ant.design 页面的参考笔记

    前言 因为我没有系统的学习 react,是边写边通过搜索引擎找相对的问题,看 ant.design的 中文文档 编写的一个单页面, 以下的笔记都是写 gksvideourlr 时记录的. 重新设定表单 ...

  5. java 支持 超大上G , 多附件上传

    首先 确定要上传的目录 WEB.XML 文件 Java代码   <listener> <listener-class><!-- 临时文件收集器 , 支持超大附件必须项 - ...

  6. 【React自制全家桶】一、Webstrom+React+Ant Design+echarts搭建react项目

    前言 一.React是Facebook推出的一个前端框架,之前被用于著名的社交媒体Instagram中,后来由于取得了不错的反响,于是Facebook决定将其开源.出身名门的React也不负众望,成功 ...

  7. Ant design在vue,react的引入

    文章地址: https://www.cnblogs.com/sandraryan/ 最近由于 一些不可描述的原因 要研究一下Ant design这个前端框架. 祭上官网: https://ant.de ...

  8. Ant Design Pro 脚手架+umiJS 实践总结

    一.简介 1.Ant Design Pro Ant Design Pro是一款搭建中后台管理控制台的脚手架 ,基于React,dva.js,Ant Design (1)其中dva主要是控制数据流向,是 ...

  9. Ant Design(ui框架)

    官方文档:https://ant.design/docs/react/introduce-cn 说明:Ant Design 是一个 ui框架,和 bootstrap 一样是ui框架.里面的组件很完善, ...

随机推荐

  1. 如何判断CPU、内存、磁盘的性能瓶颈?

    1.如何判断CPU.内存.磁盘的瓶颈? CPU瓶颈1) 查看CPU利用率.建议CPU指标如下 a) User Time:65%-70% b) System Time:30%-35% c) Idle:0 ...

  2. 启的服务有时候突然报错:org.xml.sax.SAXParseException: schema_reference.4

    记录一下,原文地址:http://blog.csdn.net/bluishglc/article/details/7596118

  3. [Nescafé 20] 玉蟾宫

    ★   输入文件:jademoon.in   输出文件:jademoon.out   简单对比 时间限制:1 s   内存限制:128 MB [背景] 有一天,小猫rainbow和freda来到了湘西 ...

  4. RIP

    距离矢量路由协议 假设网络拓扑如下 192.168.1.0网段 - - - - R1 - - 192.168.12.0网段 - - R2 - - 192.168.23.0网段 - - R3 - - - ...

  5. 017 SSH

    Router>en Router#config t Enter configuration commands, one per line.  End with CNTL/Z. Router(co ...

  6. Android系统开发(4)——Autotools

    Autotools工具的构成 1.autoscan autoscan是用来扫描源码文件夹生成configure.san文件的,configure.san包括了系统配置的基本选项.里面都是一些宏定义,我 ...

  7. Cocos2dx 小技巧(九)现成的粒子特效

    和高中的她 差点儿相同有两三年没见面了吧.下午她正好来泉州.我俩出来一起吃了个饭. 怎么说呢,自从高中毕业后我俩的联系就少了非常多.大学期间也就见过两三面吧. 现在毕业也快一年了,她已是人妇,而我自己 ...

  8. keepalived + lvs 网站高可用集群

    一 ,四台服务器 master 端 : 192.168.1.3 backup 端: 192.168.1.4 REserver1 端 : 192.168.1.5 REserver2 端: 192.168 ...

  9. DEV Express控件VScorllBar控件使用

    今天使用VScorllBall控件做了个控制界面上下滑动的功能,网上也找了这方面的资料,大概综合借鉴了一下之后,搞了一个适合我自己的自定义功能控件. 下面话不多说,直接上代码. private voi ...

  10. GMT和CST的转换

    GMT时间是格林尼治标准时间.CST时间是指包含中国.美国.巴西,澳大利亚四个时区的时间. 在javascript中默认CST是指美国中部时间,倘若在javascript中GMT转换CST则两者相差1 ...