el-upload多選文件上傳報(bào)錯解決方案
在element-ui中,el-upload
可以進(jìn)行文件多選操作。
在多選文件上傳時(shí),會循環(huán)調(diào)用上傳方法。在第一次循環(huán)時(shí),文件可以正常上傳,第二次開始就會在
progress
事件中報(bào)錯:
嘗試上傳2個文件,在這里打印progress
事件的參數(shù):
會發(fā)現(xiàn)在第二次循環(huán)的時(shí)候,事件獲取不到file,所以接下來的操作無法正常進(jìn)行。如果不處理這個問題的話,上傳方法依然可以使用,只不過最終傳上去的只是第一個文件。
本人目前還不知道是什么原因造成了這個結(jié)果。但是經(jīng)過查找相關(guān)問題找到了解決辦法:
在進(jìn)行文件多選上傳的時(shí)候,創(chuàng)建一個中間變量去進(jìn)行對文件的添加和刪除操作,原有的filelist
只進(jìn)行頁面列表的顯示,在提交表單的時(shí)候?qū)?shù)據(jù)進(jìn)行處理,將中間變量的值重新賦給接口需要的字段。這么做的目的就是避免去直接操作filelist
。
這里只展示關(guān)鍵部分代碼:
/** * file:上傳成功后的文件參數(shù) * isMultiple:true=>多選;false:=>單選 */ handlePictureSuccess(file,isMultiple){ // 單選、多選是可配字段,在這里進(jìn)行分別處理 if(isMultiple){ ··· // file返回的數(shù)據(jù)很多,只添加需要的數(shù)據(jù) this.realFileList.push({path:file.path,name:file.name,url:file.url}) ··· }else{ ··· this.fileList.push({path:file.path,name:file.name,url:file.url}) ··· } },
/** * 提交表單 * form:表單 */ submitFn(form){ ··· const fileList = [] this.$refs.Form.realFileList.forEach(el=>{ fileList.push(el) }) ··· },
到此這篇關(guān)于el-upload多選文件上傳報(bào)錯解決方案的文章就介紹到這了,更多相關(guān)el-upload多選文件上傳 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在vue中給列表中的奇數(shù)行添加class的實(shí)現(xiàn)方法
今天小編就為大家分享一篇在vue中給列表中的奇數(shù)行添加class的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09Vue項(xiàng)目新一代狀態(tài)管理工具Pinia的使用教程
pinia是一個輕量級的狀態(tài)管理庫,屬于 vue3 生態(tài)圈新的成員之一,下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目新一代狀態(tài)管理工具Pinia的使用教程,需要的朋友可以參考下2022-11-11Vue?echarts@4.x中國地圖及AMap相關(guān)API使用詳解
這篇文章主要為大家介紹了Vue使用echarts@4.x中國地圖及AMap相關(guān)API使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12defineProperty和Proxy基礎(chǔ)功能及性能對比
這篇文章主要為大家介紹了defineProperty和Proxy基礎(chǔ)功能及性能對比,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08在vue-cli3.0 中使用預(yù)處理器 (Sass/Less/Stylus) 配置全局變量操作
這篇文章主要介紹了在vue-cli3.0 中使用預(yù)處理器 (Sass/Less/Stylus) 配置全局變量操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08Vue中ElementUI分頁組件Pagination的使用方法
這篇文章主要為大家詳細(xì)介紹了Vue中ElementUI分頁組件Pagination的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05Vue+Node.js+WebSocket實(shí)現(xiàn)即時(shí)通訊
本文主要介紹了Vue+Node.js+WebSocket實(shí)現(xiàn)即時(shí)通訊,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05