亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

element-ui使用el-upload,before-upload函數不好使問題怎么解決

發布時間:2023-05-10 15:54:12 來源:億速云 閱讀:363 作者:iii 欄目:開發技術

這篇文章主要介紹了element-ui使用el-upload,before-upload函數不好使問題怎么解決的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇element-ui使用el-upload,before-upload函數不好使問題怎么解決文章都會有所收獲,下面我們一起來看看吧。

element-ui使用el-upload,before-upload函數不好使

在使用el-upload這個組件的時候,業務是需要傳其他參數給后臺,所以校驗寫在before-upload中,在before-upload中直接返回true或者是false依然會發文件給后臺

參數說明類型可選值默認值
on-progress文件上傳時的鉤子function(event, file, fileList) — —

on-change文件狀態改變時的鉤子,添加文件、上傳成功和上傳失敗時都會被調用function(file, fileList)——
before-upload上傳文件之前的鉤子,參數為上傳的文件,若返回 false 或者返回 Promise 且被 reject,則停止上傳。function(file)——
auto-upload是否在選取文件后立即進行上傳boolean—true

這里有個地方需要注意:
 

before-upload 是上傳前的校驗,因此auto-upload必須為true

解決方式

我這里是采用在函數中返回一個promise來解決的:

<template>
	<el-upload
	  class="avatar-uploader"
	  action="https://xxx.xxx.com/xxx/xxx"
	  :show-file-list="false"
	  :on-success="handleAvatarSuccess"
	  :before-upload="beforeAvatarUpload">
	  <img v-if="imageUrl" :src="imageUrl" class="avatar">
	  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
	</el-upload>
</template>
<script>
export default {
	data() {
      return {
        imageUrl: ''
      };
    },
	methods: {
		beforeAvatarUpload (file) {
	      return new Promise(async (resolve, reject) => {
	      	// 失敗
	        if ('xxx' !=0) {
	          reject()
	        } else {
	        	// 成功
	        	resolve()
			}
	      })
	    },
	    handleAvatarSuccess(res, file) {
	        this.imageUrl = URL.createObjectURL(file.raw);
	    }
	 }
 }
 </script>

ElementUI el-upload上傳圖片限制,before-upload 不生效

因為 before-upload 是指在文件上傳之前、文件已被選中,但還沒上傳的時候觸發,而設置了 :auto-upload=“false” 后,文件上傳事件不被再次調用,所以 before-upload 不生效,所以,限制圖片大小和格式的時候,需綁定在 :on-change 里面

     <el-upload
         class="upload-demo uploadTwo"
         ref="fileUploadRef"
         :action="fileUrl + 'order/mdm/partpredictioncoord/import'"
         :file-list="fileUploadList"
         :auto-upload="false"
         :headers="header"
         name="uploadFile"
         :limit="1" multiple
         :on-change="beforeFeedBackExport"
         :on-success="fileUploadSuccess">
        <span >反饋數據導入
            <span >*</span>:
        </span>
        <el-button
            slot="trigger"
            size="small"
            type="primary"
            
        >
            瀏覽
        </el-button>
     </el-upload>
 // 反饋數據導出
    beforeFeedBackExport(file) {

      // this.tableFileName = file.name;


      let testFile = file.name.substring(file.name.lastIndexOf('.') + 1).toLowerCase()

      const extension = testFile === 'xlsx' || testFile === 'xls';

      const isLt2M = (file.size / 1024 / 1024 < 10);
      if (!extension) {
        this.$message({
          message: '上傳文件只能是xls/xlsx!',
          type: 'warning'
        });
        this.fileUploadList = []
        return false;
      }
      if (!isLt2M) {
        this.$message({
          message: "文件大小不可以超過10M",
          type: 'warning'
        });
        this.fileUploadList = []
        return false;
      }
      return (extension) && isLt2M
    },

關于“element-ui使用el-upload,before-upload函數不好使問題怎么解決”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“element-ui使用el-upload,before-upload函數不好使問題怎么解決”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大悟县| 宜阳县| 滁州市| 遂溪县| 堆龙德庆县| 贵德县| 武威市| 甘谷县| 陆丰市| 洮南市| 磴口县| 汉源县| 绥棱县| 奉节县| 锡林郭勒盟| 商都县| 辉县市| 嘉义县| 萝北县| 百色市| 洛隆县| 海晏县| 岳池县| 南充市| 曲松县| 株洲市| 邵阳市| 文登市| 陆丰市| 姜堰市| 涟水县| 江城| 雷波县| 尼木县| 彭山县| 永城市| 大冶市| 睢宁县| 台北市| 冷水江市| 文成县|