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

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

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

項目需求是多個文件上傳,在一次請求中完成,而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">上傳到服務(wù)器
   </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: '', // 機(jī)構(gòu)id,
     }
    },
	}
}


methods:{
		// 上傳文件
		uploadFile(file) {
		  this.fileData.append('files', file.file); // append增加數(shù)據(jù)
		},
		
		// 上傳到服務(wù)器
	   submitUpload() {
	      let fieldData = this.uploadData.fieldData; // 緩存,注意,fieldData不要與fileData看混
	      if (fieldData.id === '') {
	        this.$message({
	          message: '請選擇上傳機(jī)構(gòu)',
	          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(); // 提交調(diào)用uploadFile函數(shù)
	          this.fileData.append('pathId', fieldData.id); // 添加機(jī)構(gòu)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(`當(dāng)前限制選擇 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('當(dāng)前文件已經(jīng)存在!');
          fileList.pop();
        }
        this.fileList = fileList;
      },
}

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

在這里插入圖片描述

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

相關(guān)文章

  • 在vue3中安裝使用bootstrap過程

    在vue3中安裝使用bootstrap過程

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

    vue-router傳參用法詳解

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

    在 Vue 中編寫 SVG 圖標(biāo)組件的方法

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

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

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

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

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

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

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

    簡單理解vue中Props屬性

    這篇文章主要幫助大家簡單的理解vue中Props屬性,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    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的錯誤問題,本文給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • nuxt 實(shí)現(xiàn)在其它js文件中使用store的方式

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

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

最新評論

长汀县| 峨山| 南宁市| 芜湖市| 金昌市| 五台县| 三原县| 开平市| 简阳市| 连城县| 葵青区| 比如县| 四川省| 青神县| 北海市| 呼玛县| 阿瓦提县| 环江| 广安市| 大兴区| 嵩明县| 原平市| 汉源县| 裕民县| 鹤岗市| 福贡县| 城步| 靖宇县| 桂东县| 万盛区| 楚雄市| 疏勒县| 盱眙县| 合山市| 甘洛县| 安化县| 津市市| 开平市| 定远县| 肇源县| 台东县|