溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么解決element上傳組件before-remove鉤子問題

發(fā)布時間:2021-03-10 15:42:04 來源:億速云 閱讀:694 作者:TREX 欄目:web開發(fā)

本篇內(nèi)容介紹了“怎么解決element上傳組件before-remove鉤子問題”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!


應(yīng)公司業(yè)務(wù)要求已上傳文件刪除前提醒確認代碼如下

if(file && file.status === "success"){
      return this.$confirm('此操作將永久刪除該文件, 是否繼續(xù)?', '系統(tǒng)提示',{
        confirmButtonText: '確認',
        cancelButtonText: '取消',
        type: 'warning',
        center: true
      }).then(() => {
        this.$message({
          type: 'success',
          message: '刪除成功!'
        });
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消刪除!'
        });
        reject(false);
      });
    };

確認會直接調(diào)用on-remove方法具體業(yè)務(wù)代碼如下

  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;
  }

但是這時會出現(xiàn)自動調(diào)用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"
      });
     }
    });
   }
  },

把不需要執(zhí)行的代碼放入判斷內(nèi)。

if (file && file.status==="success") {
}

“怎么解決element上傳組件before-remove鉤子問題”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI