日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

vue3+elementui-plus實現(xiàn)一個接口上傳多個文件功能

瀏覽:33日期:2022-06-13 10:07:26

首先,先使用element-plus寫好上傳組件,變量的定義我在這里就省略了都

<el-form-item prop='file' label='附件'> <el-upload drag ref='upload-demo' action='' v-model='taskForm.file' :file-list='fileLists' :before-upload='handleBeforeUpload' :http-request='uploadFile' :on-remove='handleRemove' :on-change='handleFileChange' :limit='3' :on-exceed='handleExceed' :headers='headers' multiple > <el-icon class='el-icon--upload'><upload-filled /></el-icon> <div class='el-upload__text'> 將文件拖拽到此處,或<em>點擊上傳</em> </div> <template #tip> <div class='el-upload__tip'> 最多上傳3個附件 </div> </template> </el-upload> </el-form-item>

然后,綁定的函數(shù)都補充一下

function handleBeforeUpload (file) {//獲取上傳文件大小let fileSize = Number(file.size / 1024 / 1024);if (fileSize > 100) { ElMessage({ message: '文件大小不能超過100MB,請重新上傳。', type: 'warning'}) return false} } function uploadFile (params) {if (params.file == null) { ElMessage({ message: '請選擇需要上傳的文件', type: 'warning'}) return false} } function handleFileChange (file, fileList) {fileLists.value = fileList } function handleRemove (file, fileList) {fileLists.value = fileList } function handleExceed(files, fileList) {ElMessage({ message: '最多上傳3個文件,請刪除后重新上傳!', type: 'warning'}) }

然后,假設(shè)有個提交按鈕,點擊上傳文件請求接口

/** 提交按鈕 */ function submitForm() {proxy.$refs['taskForms'].validate(valid => { // 表單其他必填字段校驗一下 if (valid) { // 加個loadingloading.value = ElLoading.service({ lock: true, text: 'Loading'})// 判斷是否上傳了文件 沒有就不用調(diào)用上傳if (fileLists.value.length > 0) { console.log('list', fileLists.value) let fileData = new FormData() var isAdd = false // 區(qū)別是否上傳了新文件 var ids = [] // 編輯時存儲已經(jīng)回顯的文件ids // 這里因為編輯和新增邏輯都有,所以在編輯時需要區(qū)分, // 到底是上傳了新文件,還是說依舊是原來的文件,再提交一下表單,提交其他字段而已 // 而判斷是否是最新上傳的文件就依據(jù)是否有文件流raw for(var i =0 ; i< fileLists.value.length; i++) {// 通過是否有文件流raw判斷是否上傳新文件,是則appendif (fileLists.value[i].raw) { isAdd = true fileData.append('file', fileLists.value[i].raw)} else { // 拿到回顯文件(即非新上傳文件)的id ids.push(fileLists.value[i].id)} } console.log('ids=', ids) fileData.append('type', 1) // type代表上傳操作是哪個模塊的:1任務(wù) 2總結(jié) // 若isAdd=true,則說明添加了新文件,調(diào)用上傳 if (isAdd) {uploadFileData(fileData).then((res) => { console.log('upload', res) if (res.code == 200) {// 回顯文件id數(shù)組和新上傳文件得到的id數(shù)組合并taskForm.value.file = ids.concat(res.result.ids)console.log('file-ids',taskForm.value.file)addAndEdit() // 調(diào)用保存其他字段信息的接口 }}) } else {taskForm.value.file = idsaddAndEdit() // 調(diào)用保存其他字段信息的接口 }} else { taskForm.value.file = '' addAndEdit() // 調(diào)用保存其他字段信息的接口} }}) }

既然有編輯,那就應(yīng)該做回顯的邏輯,文件如何回顯到上傳組件上

// 點擊編輯 function editTasks (row) {let fileData = new FormData()fileData.append('fileId', row.file)// 獲取文件名getFileData(fileData).then((res) => { console.log('test', res) if (res.code == 200) {// 就是這里,拿到文件名,然后文件回顯,我這里是通過接口拿到文件名,// 如果你能更直接的拿到文件名,直接執(zhí)行這個foreach即可res.result.forEach((item) => {// 回顯重點,就是把你需要的東西push到fileList中 fileLists.value.push({ name: item.fileName, id: item.id })})console.log('edoite', taskForm.value, fileLists.value) }})taskId.value = row.idtaskForm.value = {...row}taskTitle.value = '編輯任務(wù)'showTask.value = truetaskForm.value.file = row.file !== 'null' ? JSON.parse(row.file) : [] }

over 以上主要通過代碼說明,可根據(jù)自己實際情況改造

到此這篇關(guān)于vue3+elementui-plus實現(xiàn)一個接口上傳多個文件的文章就介紹到這了,更多相關(guān)vue3 elementui-plus上傳多個文件內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: JavaScript
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久亚洲国产| 日本不卡视频在线观看| 国产精成人品2018| 国产精品免费不| 久久精品国产99| 97精品国产一区二区三区| 麻豆一区在线| 国产亚洲欧美日韩精品一区二区三区 | аⅴ资源天堂资源库在线| 精品国产aⅴ| 亚洲黄色免费看| 久久精品主播| 在线亚洲观看| 亚洲精品系列| 日本欧美韩国一区三区| 国产日产高清欧美一区二区三区 | 国产精品亲子伦av一区二区三区| 亚洲欧洲av| 91精品国产自产在线丝袜啪| 日本va欧美va欧美va精品| 激情中国色综合| 捆绑调教日本一区二区三区| 欧美日韩激情| 亚洲韩日在线| 天堂va蜜桃一区二区三区| 香蕉久久夜色精品国产| 最新亚洲一区| 老牛影视一区二区三区| 国产模特精品视频久久久久| 人人精品人人爱| 亚洲综合电影一区二区三区| 免费看精品久久片| 日韩欧乱色一区二区三区在线| 亚洲综合图色| 国产日韩一区二区三区在线| 久久免费影院| 中文字幕高清在线播放| 美国欧美日韩国产在线播放| 日本不卡视频一二三区| 久久精品国产99| 成人福利视频| 精品在线播放| 欧美国产先锋| 亚洲成人不卡| 免费日韩av片| 欧美国产美女| 性欧美69xoxoxoxo| 国产精品网在线观看| 日韩久久精品网| 蜜桃视频一区二区三区在线观看 | 99国产精品久久久久久久| 亚洲精品精选| 国产精品毛片视频| 婷婷精品久久久久久久久久不卡| 国产日韩欧美在线播放不卡| 欧美综合另类| 亚洲精品国产精品粉嫩| 国产精品久久久久久久久久齐齐 | 欧美成人久久| 伊人久久大香伊蕉在人线观看热v| 国产 日韩 欧美 综合 一区| 宅男在线一区| 日韩不卡一二三区| 日韩免费视频| 综合日韩在线| 麻豆极品一区二区三区| 亚洲www啪成人一区二区| 中文字幕av一区二区三区四区| 国产精品qvod| 欧美另类专区| 国产一区二区三区久久久久久久久| 亚洲激情二区| 国产精品3区| 自拍日韩欧美| 日本а中文在线天堂| 只有精品亚洲| 午夜久久免费观看| 国产精品福利在线观看播放| 色综合www| 国产精品13p| 亚洲精一区二区三区| 特黄毛片在线观看| 精品久久视频| 欧美精品中文| 美女网站久久| 欧美日韩国产观看视频| 国产日本精品| 欧美欧美黄在线二区| 欧美在线资源| 美女久久久久| 亚洲国产影院| 亚洲www免费| 久久精品不卡| 久久亚洲国产精品尤物| 日本一区中文字幕| 亚洲2区在线| 亚洲激情久久| 三级亚洲高清视频| 国产综合亚洲精品一区二| av在线最新| 成人日韩精品| 亚洲美女久久精品| 久久在线电影| 性欧美xxxx免费岛国不卡电影| 99精品电影| 日韩欧美精品综合| 你懂的国产精品永久在线| 中文字幕亚洲在线观看| 麻豆免费精品视频| 久久国产乱子精品免费女| 亚洲精品九九| 视频一区国产视频| 国产一区清纯| 神马午夜久久| 激情黄产视频在线免费观看| 国产精品传媒麻豆hd| 国产精品一区高清| 日韩一区精品视频| 日本亚洲欧美天堂免费| 日韩精品一二三区| 一本综合精品| 午夜久久av | 一区二区国产在线| 老鸭窝亚洲一区二区三区| 蜜臀精品一区二区三区在线观看 | 日韩欧美中文| аⅴ资源天堂资源库在线| 欧美精品影院| 国产精品一区高清| 国产欧美日韩精品高清二区综合区 | 国产精品玖玖玖在线资源| 久久国产免费看| 亚洲人www| 中文字幕乱码亚洲无线精品一区| 美女精品在线| 综合一区在线| 国产一区二区三区免费在线| 欧美激情精品| 亚洲午夜精品久久久久久app| 欧美特黄一级| 四虎国产精品免费久久| 国产午夜一区| 久久永久免费| 国产亚洲在线观看| 中文字幕成人| 麻豆91精品视频| 国产亚洲一区在线| 少妇精品在线| 国产亚洲电影| 91亚洲一区| 免费国产自久久久久三四区久久 | 国产一级成人av| 激情中国色综合| 精品三级久久| 夜久久久久久| 亚洲一区二区三区四区电影| 国产欧美88| 久久国产中文字幕| 欧美黄色精品| 精品国产黄a∨片高清在线| av成人国产| 国产精品4hu.www| 亚洲夜间福利| 麻豆91精品91久久久的内涵| 久久蜜桃av| 久久精品国产99国产精品| 久久久久国产| 综合激情在线| 不卡一区综合视频| 国产亚洲精品精品国产亚洲综合| 日韩高清在线一区| 日韩欧美一区二区三区免费看| 香蕉久久久久久久av网站| 麻豆国产欧美日韩综合精品二区| 九一国产精品| 国产精品最新| 亚州国产精品| 91精品xxx在线观看| 中文无码日韩欧| 欧美一区三区| 久久精品网址| 日本大胆欧美人术艺术动态| 香蕉成人av| 国产精品xvideos88| 国产综合激情| 视频在线观看国产精品| 成人免费电影网址| 日韩二区三区在线观看| 日韩欧美不卡| 老牛国内精品亚洲成av人片| 久久亚洲影院| 久久久久久免费视频| 精品久久99| 中文字幕日韩高清在线 | 国模 一区 二区 三区| 国产精品毛片aⅴ一区二区三区| 日韩视频免费| 韩日一区二区三区| 日韩中文字幕区一区有砖一区| 国产精品成久久久久|