欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Element-UI 多個(gè)el-upload組件自定義上傳不用上傳url并且攜帶自定義傳參(文件序號)

 更新時(shí)間:2024年06月14日 10:50:47   作者:Cutecumber  
有多個(gè)upload組件,每個(gè)都需要單獨(dú)上傳獲取文件(JS File類型),不需要action上傳到指定url,自定義上傳動(dòng)作和http操作,下面通過本文給大家分享Element-UI 多個(gè)el-upload組件自定義上傳不用上傳url并且攜帶自定義傳參(文件序號),感興趣的朋友一起看看吧

1. 需求: 有多個(gè)(不確定具體數(shù)量)的upload組件,每個(gè)都需要單獨(dú)上傳獲取文件(JS File類型),不需要action上傳到指定url,自定義上傳動(dòng)作和http操作。而且因?yàn)椴淮_定組件數(shù)量,所以每次也需要獲取是第幾個(gè)文件(索引),所以也需要實(shí)現(xiàn)附加索引這個(gè)參數(shù)

2. 實(shí)現(xiàn):如下

<el-col v-bind="grid2" v-for="(item, index) in list" :key="index"> # list 不知道一共有幾個(gè)列表項(xiàng)
    <el-form-item required :label="item.value" prop="randomAmount">
        <el-upload
            class="upload-demo"
            action="none" #這里隨便寫
            :http-request="handleFileUpload" #這里會(huì)覆蓋原本的上傳http的操作,從而實(shí)現(xiàn)自定義。
            :limit="1"
            :on-remove="(file, fileList)=> {return onRemove(file, fileList, index)}" #這里的index是自定義索引參數(shù),這種寫法能夠攜帶自己的參數(shù)
            :on-change="(file, fileList)=> {return onChange(file, fileList, index)}">  
            <el-button round>點(diǎn)擊上傳</el-button>
        </el-upload>
    </el-form-item>
</el-col>
<el-col :span="24">
    <el-button type="primary" @click="submitForm">確認(rèn)提交</el-button>
</el-col>
<script>
export default {
	data() {
		return {
            // 暫存?zhèn)€el-upload的File
            fileUploaded: {
                1: null,
                2: null,
                3: null,
                4: null,
                5: null // 可以多寫幾個(gè)(確定最多不會(huì)上傳超過某數(shù)量的文件)
            },
			list:[ // 根據(jù)這個(gè)列表,渲染相應(yīng)數(shù)量的el-upload組件
				{ key: "1", value: "個(gè)體工商戶/企業(yè)營業(yè)執(zhí)照照片" },
				{ key: "2", value: "政府機(jī)關(guān)/事業(yè)單位/社會(huì)組織登記證書照片" },
				// list 不知道一共有幾個(gè)列表項(xiàng),這部分是通過后端請求獲取的
			]
		}
	},
	methods: {
        // 覆蓋默認(rèn)的http行為
        handleFileUpload(options, index){
        },
        // 文件操作刪除
        onRemove(file, fileList, index){
            this.fileUploaded[index] = null
        },
        // 文件上傳
        onChange(file, fileList, index) {
            // 判斷上傳的文件是否是滿足格式要求(自定義)
            if(!file.name.includes('.zip')) {
                fileList.pop() # 清除上傳文件后展示出來的文件圖標(biāo)
                return this.$message.error("請上傳zip壓縮包!")
            }
            // 判斷上傳的文件是否超過大小限制(自定義)
            if (file.size >= 5*1024*1024){ // 5mb
                fileList.pop()
                return this.$message.error("大小不能超過5MB!")
            }
            // 判斷上傳的文件的狀態(tài)(一般不會(huì)出錯(cuò))
            if(file.status != 'ready'){
                fileList.pop()
                return this.$message.error("狀態(tài)錯(cuò)誤")
            }
            // 暫存文件
            this.fileUploaded[index] = file.raw
        },
        // 表單上傳,先判斷文件是否按要求上傳了,滿足要求的話,構(gòu)造formData
        submitForm(){
            let formdata = new FormData()
            for (let i = 0; i < this.list.length; i++) {
            	// 如果有文件未上傳,則報(bào)錯(cuò)。確保每個(gè)el-upload都上傳了文件
                if (!this.fileUploaded[i]){
                    return this.$message.error('請上傳'+this.list[i].value)
                }
                formdata.append('subMerCertFiles', this.fileUploaded[i]) // 多個(gè)文件上傳
            }
            // 后面調(diào)用接口,上傳formdata
       	}
    }
}
</script>

演示

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于Element-UI 多個(gè)el-upload組件自定義上傳,不用上傳url,并且攜帶自定義傳參(文件序號)的文章就介紹到這了,更多相關(guān)Element-UI 多個(gè)el-upload組件自定義上傳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用Vue.js實(shí)現(xiàn)求職在線之職位查詢功能

    利用Vue.js實(shí)現(xiàn)求職在線之職位查詢功能

    Vue.js是當(dāng)下很火的一個(gè)JavaScript MVVM庫,它是以數(shù)據(jù)驅(qū)動(dòng)和組件化的思想構(gòu)建的。下面這篇文章主要給大家介紹了關(guān)于利用Vue.js實(shí)現(xiàn)求職在線之職位查詢功能的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • Vue MVVM模型與data及methods屬性超詳細(xì)講解

    Vue MVVM模型與data及methods屬性超詳細(xì)講解

    MVVM旨在利用WPF中的數(shù)據(jù)綁定函數(shù),通過從視圖層中幾乎刪除所有GUI代碼(代碼隱藏),更好地促進(jìn)視圖層開發(fā)與模式其余部分的分離,這篇文章主要介紹了Vue MVVM模型與data及methods屬性
    2022-10-10
  • 關(guān)于頁面刷新vuex數(shù)據(jù)消失問題解決方案

    關(guān)于頁面刷新vuex數(shù)據(jù)消失問題解決方案

    本篇文章主要介紹了關(guān)于頁面刷新vuex數(shù)據(jù)消失問題解決方案 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • vue2中使用quill編輯器+表格功能(步驟詳解)

    vue2中使用quill編輯器+表格功能(步驟詳解)

    這篇文章主要介紹了vue2中使用quill編輯器+表格功能,本文分步驟結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • vue使用laydate時(shí)間插件的方法

    vue使用laydate時(shí)間插件的方法

    這篇文章主要為大家詳細(xì)介紹了vue使用laydate時(shí)間插件的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 如何在vue 中引入使用jquery

    如何在vue 中引入使用jquery

    這篇文章主要介紹了如何在vue 中引入使用jquery,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-11-11
  • Vue.js使用$.ajax和vue-resource實(shí)現(xiàn)OAuth的注冊、登錄、注銷和API調(diào)用

    Vue.js使用$.ajax和vue-resource實(shí)現(xiàn)OAuth的注冊、登錄、注銷和API調(diào)用

    這篇文章主要介紹了 Vue.js使用$.ajax和vue-resource實(shí)現(xiàn)OAuth的注冊、登錄、注銷和API調(diào)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • vue 標(biāo)簽屬性數(shù)據(jù)綁定和拼接的實(shí)現(xiàn)方法

    vue 標(biāo)簽屬性數(shù)據(jù)綁定和拼接的實(shí)現(xiàn)方法

    這篇文章主要介紹了vue 標(biāo)簽屬性數(shù)據(jù)綁定和拼接的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • vue返回上一頁(后退)的幾種方法與區(qū)別說明

    vue返回上一頁(后退)的幾種方法與區(qū)別說明

    這篇文章主要介紹了vue返回上一頁(后退)的幾種方法與區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue Element前端應(yīng)用開發(fā)之表格列表展示

    Vue Element前端應(yīng)用開發(fā)之表格列表展示

    在我們一般開發(fā)的系統(tǒng)界面里面,列表頁面是一個(gè)非常重要的綜合展示界面,包括有條件查詢、列表展示和分頁處理,以及對每項(xiàng)列表內(nèi)容可能進(jìn)行的轉(zhuǎn)義處理,本篇隨筆介紹基于Vue +Element基礎(chǔ)上實(shí)現(xiàn)表格列表頁面的查詢,列表展示和字段轉(zhuǎn)義處理。
    2021-05-05

最新評論