一、主要任务:悉尼小程序管理后台,添加景点页面的开发

二、所遇问题及解决

1. 上传多个不同分类音频信息时,如中文音频和英文音频,要求音频不是放在一个数组中的,每个音频是一个独立的字段,此时:

<Upload
action="/hserve/v2/file/upload/" // 必选参数,上传的地址;
listType="picture" // 上传列表的内建样式,这个不是很明白 text、picture、picture-card 之间的区别,默认值为 text;
showUploadList={false} // 是否展示 updateList,默认值为 true;
accept="audio/*" // 接受上传的文件类型,audio/*、video/*、image/*
fileList={cnAudioFileList} // 已经上传的文件列表,这里的 cnAudioFileList 初始值是为空的,上传后通过 handleAudioChange 来设置 cnAudioFileList 的值;
onChange={this.handleAudioChange.bind(this, 'cn')} // 这里因为要分别上传中英文的音频,所以额外传了一个用以区分的参数;
>
 
handleAudioChange = (type, { file, fileList }) => { // file:当前操作的文件对象, fileList:当前的文件列表;(自定义传的参数需要放在默认参数的前面)
  if (file.status === 'done') {
    fileList[fileList.length - 1].url = file.response.path
    let lastFile = fileList[fileList.length - 1]
    if (type === 'cn') {
      this.setState({
        cnAudioFileList: fileList,
        site: { ...this.state.site, cnAudio: lastFile.url }
      })
    } else {
      this.setState({
        enAudioFileList: fileList,
        site: { ...this.state.site, enAudio: lastFile.url }
      })
    }
    return
  }
  if (type === 'cn') {
    this.setState({ cnAudioFileList: fileList })
  } else {
    this.setState({ enAudioFileList: fileList })
  }
}
 
2. react 条件渲染,两种写法:
  (1)let example = <Example {...props} />,再在 render 中引用 { example };
  (2)直接在 render 中: { condition === value ? (<div>1</div>) : (<div>2</div>)  };
 
3. 对于多个接口相同,参数不同的请求,使用 axios.all(),具体用法:
  

  import axios from 'axios'
 
  let promises = [];
 
  promises.push(request1[params])
  promises.push(request2[params])
  axios.all(promises).then(res => {
    console.log(res) // res 作为一个数组,每项对应每个请求  
  }).catch(() => { message.error('请求失败') })
 
  如果确定有几个请求的话,可以分开返回参数,即 axios.all(promises).then(axios.spread(function(a, b) => {}))
 
 
 
 
 

2017.11.7 ant design - upload 组件的使用, react 条件渲染以及 axios.all() 的使用的更多相关文章

  1. 2017.11.6 - ant design table等组件的使用,以及 chrome 中 network 的使用

    一.今日主要任务 悉尼小程序后台管理开发: 景点管理页面: 获取已有数据列表,选取部分数据呈现在表格中,根据景点名称.分类过滤出对应的景点.   二.难点 1. 项目技术选取: ant design. ...

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

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

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

    React实战之Ant Design—Upload上传_附件上传 Upload组件大家都在官方文档中看过了,但写的时候还是会遇到许多问题,一些新手看了文档后感觉无从下手,本文过多的简绍就不说了,直接看 ...

  4. Ant Design Blazor 组件库的路由复用多标签页介绍

    最近,在 Ant Design Blazor 组件库中实现多标签页组件的呼声日益高涨.于是,我利用周末时间,结合 Blazor 内置路由组件实现了基于 Tabs 组件的 ReuseTabs 组件. 前 ...

  5. Ant Design UI组件

    Ant Design 是面向中台的 UI 设计语言.  http://ant.design/

  6. 【后台管理系统】—— Ant Design Pro组件使用(一)

    一.搜索Search      搜索框 <Search placeholder="请输入关键字" defaultValue={kw && kw != 'nul ...

  7. Ant Design Pro+Electron+electron-builder实现React应用脱离浏览器,桌面安装运行

    ant-design-pro ----> version :2.3.1 由于网上Ant Design Pro+Electron的资料太少,我就贡献一点经验   最近需要讲AntD Pro项目(以 ...

  8. 【后台管理系统】—— Ant Design Pro组件使用(二)

    一.关联表单项 - 动态增删输入框Input        封装子组件 class ParamsInputArray extends React.Component{ constructor(prop ...

  9. ant design 树形组件怎么使用

    getDefaultProps doesn't work with ES6 syntax; warning is not helpful 解决后: 参考地址:https://github.com/fa ...

随机推荐

  1. PaddlePaddle tutorial

    什么是PaddlePaddle PaddlePaddle,百度旗下深度学习开源平台.Paddle(Parallel Distributed Deep Learning,并行分布式深度学习). 2016 ...

  2. zedboard开发板上移植opencv代码(立体匹配)

    前言 公司要做立体匹配相关的项目,已有matlab和c++版本,可是不能做到实时显示立体信息,想要硬件实现实时,无奈本渣也是个硬件的新手,先按照实验室lyq同学的思路在zedboard开发板的纯ARM ...

  3. 使用apidoc 生成Restful web Api文档——新手问题与解决方法

    使用apidoc工具来给项目做接口文档,不仅有合理的源码注释,还可以生成对应的文档.是给源码写备注的一个极佳实践. 工具名称:apiDoc Git地址:https://github.com/apido ...

  4. golang 六宫格、九宫格头像生成

    图片示例就不传了,在原WordPress上. //Merge6Grid 6宫格 //rule NO1:至少3张图 最多6张图 // NO2:第一张大小 60*60 其他大小 28*28 间隔4px 合 ...

  5. HBase使用压缩存储(snappy)

    在将mysql数据导入到hbase数据的过程中,发现hbase的数据容量增加很快, 原本在mysql存储30G容量的数据导入到hbase一直增加到快150G(还未完全导入,手动结束), 而采用默认3个 ...

  6. css完成下图

    <div></div> div{ height: 48px; width: 80px; padding: 0 16px 0 32px; background: rgba(0,0 ...

  7. java exception 01

    问题:java.util.concurrentmodificationexception 背景:java thread 网上找到的出现的例子如下(项目中真实的code不便给出) public clas ...

  8. golang xml parent node add attribute without struct

    question: golang  encoding/xml: foo>bar,attr - foo ignored solution: you can replace output resul ...

  9. Properties 类的使用

    定义: 表示一个持久的集合,可以存在流中,或者从流中加载.是Hashtable子类,map集合方法都可以用. 方法的使用: /* * 集合对象 properties继承Hashtable实现了Map接 ...

  10. nodejs-hook 开发

    nodejs require hook 功能很强大,我们可以用来将不支持的数据文件,直接使用require 进行加载,同时 我们可以方便的进行代码的预编译(比如babel 的组件) 为了方便使用npm ...