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