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

來源:互聯網
上載者:User

標籤:需要   寫法   ams   false   pread   1.7   地址   return   []   

一、主要任務:雪梨小程式管理後台,添加景點頁面的開發

二、所遇問題及解決

1. 上傳多個不同分類音頻資訊時,如中文音頻和英文音頻,要求音頻不是放在一個數組中的,每個音頻是一個獨立的欄位,此時:

<Uploadaction="/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() 的使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.