日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

antd 图片上传遇到的坑----图片回显(Upload)

發布時間:2024/1/18 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 antd 图片上传遇到的坑----图片回显(Upload) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

antd 圖片上傳遇到的坑----圖片回顯(Upload)

最近又被安排了一個前端的項目,遇到了一個圖片上傳的問題,用的是antd的Upload組件,在這遇到的問題和大家分享一下,下網可以幫到需要的人。(antd官網)

1.圖片回顯

這是本次最大的坑。在這里說兩種回顯問題;

1.頁面之前保存的圖片回顯

我們獲取圖片的地址是根據id來的,發送的圖片的請求后面沒有.png等圖片標識的后綴(如:http://****/?Id=1111111111111111),upload組件不會發送請求獲取圖片信息,解決方式配置圖片時加type屬性。

fileList={fileList}獲取圖片信息后放入組件fileList中的數據格式:

const photo = res.data.map(map => {return {uid: map.id,status: 'done',type: 'image/png',url: http://*******/***?Id=1111111111111111}});setFileList(photo)
2.剛剛上傳的圖片回顯

上傳圖片后圖片的status屬性一直是uploading狀態,圖片上傳成功,卻一直是進度條狀態。
解決方法是在 onCancel={this.handleCancel}回調方法開頭加setFileList([…data.fileList]);
我這邊只有加在方法開始生效

const handleChange = (data) => {setFileList([...data.fileList]);//新增圖片或視頻 將uid置換為上傳成功返回的idif (data.file.response) {if (data.file.response.success) {data.fileList[data.fileList.length - 1].uid = data.file.response.data.id;}}}

2.其他官網未顯示可用配置

可配置 onSuccess={e => onSuccess(e)}獲取請求返回結果

3.最后附上完整組件代碼

<Uploadaction={baseUrl + "/app/photo/upload"} //這個是圖片上傳的接口請求,實際開發中,要替換成你自己的業務接口data={file => ({// data里存放的是接口的請求參數activityId: props.location.propsId,userCode: '*******',})}listType="picture-card"fileList={fileList} //默認的圖片顯示multiple={true}// customRequest={customRequest}onChange={e => handleChange(e)} // 每次上傳圖片時,都會觸發這個方法onPreview={e => handlePreview(e)} // 點擊圖片縮略圖,進行預覽showUploadList={{showRemoveIcon: false // 不顯示圖片刪除標識的配置}}onSuccess={e => onSuccess(e)} //接口請求后的回調,可以獲取請求結果 我這里沒用到>{uploadButton} </Upload>

總結

以上是生活随笔為你收集整理的antd 图片上传遇到的坑----图片回显(Upload)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。