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

二、所遇问题及解决

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. Notepad++同一窗口显示左右显示两份文档

    Notepad++同一窗口显示左右显示两份文档   直接打开一份文档,test1.txt 再打开第二份文档,test2.txt,会显示成这样: 两份文档是以标签的形式展示的,有时需要同时查看两份文档, ...

  2. 第76课 最小生成树(Prim)

    图解: 添加prim函数: #ifndef GRAPH_H #define GRAPH_H #include "Object.h" #include "SharedPoi ...

  3. 怎样用CMD命令强行删除文件?

    如果你要删除的整个文件夹以及文件夹里面的所有内容的话rd/s/q 盘符:\某个文件夹   (这样整个文件夹所有的文件和文件夹都删除了)比如我想删除D盘的123文件夹以及123文件夹里面所有的内容rd/ ...

  4. [LeetCode&Python] Problem 788. Rotated Digits

    X is a good number if after rotating each digit individually by 180 degrees, we get a valid number t ...

  5. xdoj-1106(判断组合数是否溢出)

    1 首先 ans=c(n,a[0] )*c(n-a[0],a[1])*(n-a[0]-a[1],a[2])...... a[i]: 含义 在数列中i的个数有a[i]个 2 如何判断 x*y>p( ...

  6. nmon使用命令

    nmon使用命令   启动nmon后, c       查看CPU监控的窗口 mV     查看内存和虚拟内存            V是大写 ndt     查看网络.磁盘和虚拟进程 q      ...

  7. 给Linux服务器设置共享文件目录

    通过samba软件 :yum install samba 修改配置文件:vi /etc/samba/smb.conf 添加 [WORKSPACE] comment = workspace       ...

  8. 结对第2次作业——WordCount进阶需求

    作业题目链接 队友链接 Fork的同名仓库的Github项目地址 具体分工 玮哥负责命令参数判断.单词权重统计,我只负责词组词频统计(emmmm). PSP表格 预估耗时(分钟) 实际耗时(分钟) P ...

  9. log4j.properties与db.properties

    log4j.properties与db.properties db.driver=com.mysql.jdbc.Driver db.url=jdbc:mysql:///mybatis?useUnico ...

  10. php基础-4

    require和include require和include都是导入外部php文件的方法,使用方法为require和include关键字后接导入包(php_file)的名字的字符串形式. 当导入的包 ...