解決el-upload批量上傳只執(zhí)行一次成功回調(diào)on-success的問(wèn)題
el-upload批量上傳只執(zhí)行一次成功回調(diào)on-success
刪除掉:
file-list="fileList"
在網(wǎng)上找了下解決方法,發(fā)現(xiàn)取消file-list綁定即可,網(wǎng)上也有自定義的上傳事件的方法,不過(guò)這個(gè)操作起來(lái)更方便一些。
上面方法還是有點(diǎn)問(wèn)題,正確的方法是在后臺(tái)拉數(shù)據(jù)的時(shí)候,創(chuàng)建一個(gè)臨時(shí)變量filelist2,然后將后臺(tái)的數(shù)據(jù)filelist賦值給filelist2,再將filelist2綁定(:file-list="filelist2")
然后對(duì)數(shù)據(jù)的操作都在filelist中。
el-upload自定義上傳后回調(diào)上傳成功和失敗事件
template部分:
<el-upload ? class="el_upload_above" ? action="" ? ref="upload" ? :limit="limitnum" ? list-type="picture-card" ? :http-request="uploadSectionFile" ? :auto-upload="true" ? :file-list="fileList" ? :on-error="uploadFileError" ? :on-success="uploadFileSuccess" ? :on-exceed="exceedFile" ? :on-remove="removeFile"> </el-upload>
script部分:
<script> ? export default { ? ? data() { ? ? ? return { ? ? ? ?? ?fileList:[],//上傳的文件列表 ? ? ? ?? ?limitnum:2,//最大允許上傳個(gè)數(shù)? ? ? ? }; ? ? }, ? ? methods: { ? ? ?? ?//自定義上傳 ? ? ?? ?uploadSectionFile(param){ ? ??? ??? ? ?var fileObj = param.file; ?? ? ? ? ?var form = new FormData(); ?? ? ? ? ? // 文件對(duì)象 ?? ? ? ? ?form.append("file", fileObj); ?? ? ? ? ?this.$axios.post('/file/upload',form).then(res => { ?? ? ? ? ? ?param.onSuccess(res) ?? ? ? ? ?}).catch(({err}) => { ?? ? ? ? ? ?param.onError(err) ?? ? ? ? ?}) ? ? ? ?? ?}, ? ? ? ?? ?//上傳失敗 ?? ? ? ?uploadFileError(err, file, fileList){ ?? ? ? ? ?this.$message.error("上傳失敗!") ?? ? ? ?}, ? ? ? ?? ?//上傳成功 ?? ? ? ?uploadFileSuccess(response, file, fileList){ ?? ? ? ? ?if(response.data.error==0){ ?? ? ? ? ? ?file.response=response.data.data; ?? ? ? ? ? ?this.fileList.push(file) ?? ? ? ? ?}else{ ?? ? ? ? ? ?this.$message.error(response.data.message);//文件上傳錯(cuò)誤提示 ?? ? ? ? ?} ?? ? ? ?}, ?? ? ? ?// 文件超出個(gè)數(shù)限制時(shí)的鉤子 ?? ? ? ?exceedFile(files, fileList){ ?? ? ? ? ?this.$message.error('只能上傳'+this.limitnum+'個(gè)文件'); ?? ? ? ?}, ?? ? ? ?//刪除文件 ?? ? ? ?removeFile(file,fileList) { ?? ? ? ? ?this.fileList=fileList; ?? ? ? ?}, ? ? } ? } </script>
注釋
自定義上傳后,成功和失敗需要在自定義上傳代碼中觸發(fā)(onSuccess / onError)。在組件部分需要寫(xiě)文件上傳或失敗的回調(diào)事件(uploadFileSuccess / uploadFileError)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue中的el-form表單rule校驗(yàn)問(wèn)題(特殊字符、中文、數(shù)字等)
這篇文章主要介紹了vue中的el-form表單rule校驗(yàn)問(wèn)題(特殊字符、中文、數(shù)字等),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05vue前端重構(gòu)computed及watch組件通信等實(shí)用技巧整理
這篇文章主要為大家介紹了vue前端重構(gòu)computed及watch組件通信等實(shí)用技巧整理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05element表單el-form的label自適應(yīng)寬度的實(shí)現(xiàn)
本文主要介紹了element表單el-form的label自適應(yīng)寬度的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08vue實(shí)現(xiàn)內(nèi)容可滾動(dòng)的彈窗效果
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)內(nèi)容可滾動(dòng)的彈窗效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09vue Element-ui input 遠(yuǎn)程搜索與修改建議顯示模版的示例代碼
本文分為html,js和css代碼給大家詳細(xì)介紹了vue Element-ui input 遠(yuǎn)程搜索與修改建議顯示模版功能,感興趣的朋友一起看看吧2017-10-10Vue.js3.2響應(yīng)式部分的優(yōu)化升級(jí)詳解
這篇文章主要為大家介紹了Vue.js3.2響應(yīng)式部分的優(yōu)化升級(jí)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07