最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

element-ui中el-upload多文件一次性上傳的實現(xiàn)

 更新時間:2020年12月02日 09:52:30   作者:leo_neverGiveUp  
這篇文章主要介紹了element-ui中el-upload多文件一次性上傳的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

項目需求是多個文件上傳,在一次請求中完成,而ElementUI的上傳組件是每個文件發(fā)一次上傳請求,因此我們借助FormData的格式向后臺傳文件組

html代碼

<div class="upload-file">
 <el-upload
   accept=".xlsx"
   ref="upload"
   multiple
   :limit="5"
   action="http://xxx.xxx.xxx/personality/uploadExcel"
   :on-preview="handlePreview"
   :on-change="handleChange"
   :on-remove="handleRemove"
   :on-exceed="handleExceed"
   :file-list="fileList"
   :http-request="uploadFile"
   :auto-upload="false">
   <el-button slot="trigger" size="small" type="primary">選取文件</el-button>
   <el-button style="margin-left: 133px;" size="small" type="success" @click="submitUpload">上傳到服務器
   </el-button>
   <div slot="tip" class="el-upload__tip">只能上傳xlsx文件,且不超過100m</div>
 </el-upload>
 </div>

修改:auto-upload="false"屬性為false,阻止組件的自動上傳
:http-request="uploadFile"覆蓋上傳事件
@click=“submitUpload”,給上傳按鈕綁定事件

在這里插入圖片描述

data() {
	return {
		fileData: '', // 文件上傳數(shù)據(jù)(多文件合一)
		fileList: [],  // upload多文件數(shù)組
		uploadData: {
     fieldData: {
      id: '', // 機構id,
     }
    },
	}
}


methods:{
		// 上傳文件
		uploadFile(file) {
		  this.fileData.append('files', file.file); // append增加數(shù)據(jù)
		},
		
		// 上傳到服務器
	   submitUpload() {
	      let fieldData = this.uploadData.fieldData; // 緩存,注意,fieldData不要與fileData看混
	      if (fieldData.id === '') {
	        this.$message({
	          message: '請選擇上傳機構',
	          type: 'warning'
	        })
	      } else if (this.fileList.length === 0) {
	        this.$message({
	          message: '請先選擇文件',
	          type: 'warning'
	        })
	      } else {
	        const isLt100M = this.fileList.every(file => file.size / 1024 / 1024 < 100);
	        if (!isLt100M) {
	          this.$message.error('請檢查,上傳文件大小不能超過100MB!');
	        } else {
	          this.fileData = new FormData(); // new formData對象
	          this.$refs.upload.submit(); // 提交調用uploadFile函數(shù)
	          this.fileData.append('pathId', fieldData.id); // 添加機構id
	          this.fileData.append('loginToken', this.loginToken); // 添加token
	          post(this.baseUrlData.url_02 + ":8090/personality/uploadExcel", this.fileData).then((response) => {
	            if (response.data.code === 0) {
	              this.$message({
	                message: "上傳成功",
	                type: 'success'
	              });
	              this.fileList = [];
	            } else {
	              this.$message({
	                message: response.data.desc,
	                type: 'error'
	              })
	            }
	          });
	        }
	      }
	    },
	    
      //移除
      handleRemove(file, fileList) {
        this.fileList = fileList;
        // return this.$confirm(`確定移除 ${ file.name }?`);
      },

      // 選取文件超過數(shù)量提示
      handleExceed(files, fileList) {
        this.$message.warning(`當前限制選擇 5 個文件,本次選擇了 ${files.length} 個文件,共選擇了 ${files.length + fileList.length} 個文件`);
      },	   

			 //監(jiān)控上傳文件列表
      handleChange(file, fileList) {
        let existFile = fileList.slice(0, fileList.length - 1).find(f => f.name === file.name);
        if (existFile) {
          this.$message.error('當前文件已經存在!');
          fileList.pop();
        }
        this.fileList = fileList;
      },
}

此時就達到上傳4個文件只發(fā)送了一個xhr請求了

在這里插入圖片描述

到此這篇關于element-ui中el-upload多文件一次性上傳的實現(xiàn)的文章就介紹到這了,更多相關el-upload多文件上傳內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在vue3中安裝使用bootstrap過程

    在vue3中安裝使用bootstrap過程

    這篇文章主要介紹了在vue3中安裝使用bootstrap過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue-router傳參用法詳解

    vue-router傳參用法詳解

    今天小編就為大家分享一篇關于vue-router傳參用法詳解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 在 Vue 中編寫 SVG 圖標組件的方法

    在 Vue 中編寫 SVG 圖標組件的方法

    這篇文章主要介紹了在 Vue 中編寫 SVG 圖標組件的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 解決vue打包項目后刷新404的問題

    解決vue打包項目后刷新404的問題

    下面小編就為大家整理了一篇解決vue打包項目后刷新404的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue3遞歸組件封裝的全過程記錄

    vue3遞歸組件封裝的全過程記錄

    組件是可以在自己的模板中調用自身的,不過他們只能通過name選項來做這件事,下面這篇文章主要給大家介紹了關于vue3遞歸組件封裝的相關資料,需要的朋友可以參考下
    2021-09-09
  • vue-cli-service的參數(shù)配置過程

    vue-cli-service的參數(shù)配置過程

    這篇文章主要介紹了vue-cli-service的參數(shù)配置過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 簡單理解vue中Props屬性

    簡單理解vue中Props屬性

    這篇文章主要幫助大家簡單的理解vue中Props屬性,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 詳解vue渲染函數(shù)render的使用

    詳解vue渲染函數(shù)render的使用

    本篇文章主要介紹了vue渲染函數(shù)render的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • npm ERR! code 128的錯誤問題解決方法

    npm ERR! code 128的錯誤問題解決方法

    這篇文章主要介紹了解決npm ERR! code 128的錯誤問題,本文給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • nuxt 實現(xiàn)在其它js文件中使用store的方式

    nuxt 實現(xiàn)在其它js文件中使用store的方式

    這篇文章主要介紹了nuxt 實現(xiàn)在其它js文件中使用store的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11

最新評論

华蓥市| 炉霍县| 建水县| 静安区| 邢台县| 灵川县| 循化| 阿拉善右旗| 临西县| 嘉禾县| 华宁县| 扬中市| 东兰县| 前郭尔| 安国市| 文化| 巫山县| 宁南县| 宜兰市| 疏附县| 土默特右旗| 辰溪县| 辉南县| 晋江市| 阿瓦提县| 教育| 米脂县| 武夷山市| 元江| 中宁县| 阳朔县| 普陀区| 电白县| 巴林右旗| 黔西| 武平县| 泽库县| 龙口市| 自贡市| 宁陕县| 澳门|