您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么解決element上傳組件before-remove鉤子問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
應公司業務要求已上傳文件刪除前提醒確認代碼如下
if(file && file.status === "success"){ return this.$confirm('此操作將永久刪除該文件, 是否繼續?', '系統提示',{ confirmButtonText: '確認', cancelButtonText: '取消', type: 'warning', center: true }).then(() => { this.$message({ type: 'success', message: '刪除成功!' }); }).catch(() => { this.$message({ type: 'info', message: '已取消刪除!' }); reject(false); }); };
確認會直接調用on-remove方法具體業務代碼如下
if (file && file.status==="success") { this.$axios.delete("url" + data); }
下面是 before-upload 上傳文件前的鉤子,在遇到大于10M的文件時,我們返回false
//圖片上傳前鉤子 beforeUpload(file) { this.loading = true; const isLt2M = file.size / 1024 / 1024 < 10; if (!isLt2M) { this.loading = false; this.$message.error("單個附件大小不能超過 10MB!"); } return isLt2M; // return false; }
但是這時會出現自動調用before-remove on-remove鉤子
其實此時我們根本沒有上傳文件,所以也不會需要刪除操作,然后我的代碼就報錯了。
解決辦法如下:
//刪除圖片 beforeRemove(file, fileList) { let a = true; if (file && file.status==="success") { a = this.$confirm(`確定移除 ${ file.name }?`); } return a; }, //刪除圖片 handleRemove(file, fileList) { if (file && file.status==="success") { this.$axios.delete("accessory/one/" + file.response.id).then(resp => { if (resp.status == 200) { this.$message({ message: "刪除成功", type: "success" }); } }); } },
把不需要執行的代碼放入判斷內。
if (file && file.status==="success") { }
“怎么解決element上傳組件before-remove鉤子問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。