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

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

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

1. 需求: 有多個(不確定具體數量)的upload組件,每個都需要單獨上傳獲取文件(JS File類型),不需要action上傳到指定url,自定義上傳動作和http操作。而且因為不確定組件數量,所以每次也需要獲取是第幾個文件(索引),所以也需要實現附加索引這個參數

2. 實現:如下

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

演示

在這里插入圖片描述

在這里插入圖片描述

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

相關文章

  • Element el-upload上傳組件使用詳解

    Element el-upload上傳組件使用詳解

    本文主要介紹了Element el-upload上傳組件使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • vue3+elementPlus項目支持生成、設置默認附件方式

    vue3+elementPlus項目支持生成、設置默認附件方式

    這篇文章主要介紹了vue3+elementPlus項目支持生成、設置默認附件方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vscode中使用vue的一些插件總結(方便開發(fā))

    vscode中使用vue的一些插件總結(方便開發(fā))

    對于很多使用vscode編寫vue項目的新手同學來說,可能不知道使用什么插件,下面這篇文章主要給大家介紹了關于vscode中使用vue的一些插件,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • Vue?使用?setup?語法糖的示例詳解

    Vue?使用?setup?語法糖的示例詳解

    在 setup 語法糖中通過 import 引入的內容,也可以直接在 template 標簽中使用,這篇文章主要介紹了Vue?使用?setup?語法糖,需要的朋友可以參考下
    2023-10-10
  • 創(chuàng)建Vue項目以及引入Iview的方法示例

    創(chuàng)建Vue項目以及引入Iview的方法示例

    這篇文章主要介紹了創(chuàng)建Vue項目以及引入Iview的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • Vue組件實現數字滾動抽獎效果

    Vue組件實現數字滾動抽獎效果

    這篇文章主要為大家詳細介紹了Vue組件實現數字滾動抽獎效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue項目如何部署運行到tomcat上

    vue項目如何部署運行到tomcat上

    這篇文章主要介紹了vue項目如何部署運行到tomcat上的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 解決vue cli4升級sass-loader(v8)后報錯問題

    解決vue cli4升級sass-loader(v8)后報錯問題

    這篇文章主要介紹了解決vue cli4升級sass-loader(v8)后報錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Jenkins+docker容器部署前端Vue項目的完整步驟記錄

    Jenkins+docker容器部署前端Vue項目的完整步驟記錄

    Jenkins是一個開源軟件項目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復的工作,旨在提供一個開放易用的軟件平臺,使軟件項目可以進行持續(xù)集成,這篇文章主要介紹了Jenkins+docker容器部署前端Vue項目的完整步驟,需要的朋友可以參考下
    2026-01-01
  • Vue+jsPlumb實現連線效果(支持滑動連線和點擊連線)

    Vue+jsPlumb實現連線效果(支持滑動連線和點擊連線)

    jsPlumb 是一個比較強大的繪圖組件,它提供了一種方法,主要用于連接網頁上的元素。本文將利用jsPlumb實現連線效果,同時支持滑動連線和點擊連線,感興趣的可以了解一下
    2023-01-01

最新評論

富宁县| 泾阳县| 万源市| 仁怀市| 远安县| 祁连县| 新宾| 县级市| 邵阳县| 锡林郭勒盟| 普定县| 旬邑县| 三明市| 静宁县| 双流县| 图片| 漳平市| 蛟河市| 渝中区| 崇礼县| 图们市| 鹤山市| 乌拉特中旗| 岳池县| 通道| 德州市| 霸州市| 上饶县| 淅川县| 宁城县| 枣庄市| 上犹县| 双城市| 民丰县| 那曲县| 曲靖市| 文化| 沈阳市| 外汇| 永德县| 蕲春县|