vxe-upload vue 實現附件上傳、手動批量上傳附件的方式

vxe-upload vue 實現附件上傳、手動批量上傳附件的方式

查看官網:https://vxeui.com

安裝

npm install vxe-pc-ui@4.6.47
// ...
import VxeUIAll from 'vxe-pc-ui'
import 'vxe-pc-ui/lib/style.css'
// ...createApp(App).use(VxeUIAll).mount('#app')
// ...

上傳附件支持失敗重新上傳

自定義重新上傳,通過參數 show-error-status 啟用,當上傳失敗時,可以點擊重新上傳按鈕

在這里插入圖片描述

<template><div><vxe-upload v-model="fileList" multiple :limit-count="6" :limit-size="50" show-progress show-error-status auto-hidden-button :upload-method="uploadMethod"></vxe-upload></div>
</template><script setup>
import { ref } from 'vue'
import axios from 'axios'const fileList = ref([])// 后端接口模擬請求失敗
const uploadMethod = ({ file, updateProgress }) => {const formData = new FormData()formData.append('file', file)return axios.post('/api/pub/upload/single?randomError=1', formData, {onUploadProgress (progressEvent) {const percentCompleted = Math.round((progressEvent.loaded * 100) / (progressEvent.total || 0))updateProgress(percentCompleted)}}).then((res) => {return {...res.data}})
}
</script>

上傳附件、手動批量上傳

當需要手動批量提交上傳時,可以通過 aotu-submit=false 關閉自動提交,然后手動調用 submit() 方法提交

在這里插入圖片描述

<template><div><vxe-button status="primary" @click="submitEvent">點擊手動上傳</vxe-button><vxe-uploadmultipleshow-progressv-model="fileList"ref="refUpload"button-text="選擇文件或拖拽到此":auto-submit="false":limit-count="9":limit-size="50":upload-method="uploadMethod"></vxe-upload></div>
</template><script setup>
import { ref } from 'vue'
import axios from 'axios'const refUpload = ref()
const fileList = ref([])const uploadMethod = ({ file, updateProgress }) => {const formData = new FormData()formData.append('file', file)return axios.post('/api/pub/upload/single', formData, {onUploadProgress (progressEvent) {const percentCompleted = Math.round((progressEvent.loaded * 100) / (progressEvent.total || 0))updateProgress(percentCompleted)}}).then((res) => {return {...res.data}})
}const submitEvent = () => {const $upload = refUpload.valueif ($upload) {$upload.submit()}
}
</script>

上傳附件,可以單個點擊上傳、也可以批量上傳

還可以通過 show-submit-button 顯示上傳按鈕,單個提交或者手動提交單個。如果上傳失敗也可以通過 show-error-status 顯示重新上傳按鈕

在這里插入圖片描述

<template><div><vxe-button status="primary" @click="submitEvent">點擊手動上傳</vxe-button><vxe-uploadmultipleshow-progressshow-submit-buttonshow-error-statusv-model="fileList"ref="refUpload"button-text="選擇文件或拖拽到此":auto-submit="false":limit-count="9":limit-size="50":upload-method="uploadMethod"></vxe-upload></div>
</template><script setup>
import { ref } from 'vue'
import axios from 'axios'const refUpload = ref()
const fileList = ref([])const uploadMethod = ({ file, updateProgress }) => {const formData = new FormData()formData.append('file', file)return axios.post('/api/pub/upload/single?randomError=1', formData, {onUploadProgress (progressEvent) {const percentCompleted = Math.round((progressEvent.loaded * 100) / (progressEvent.total || 0))updateProgress(percentCompleted)}}).then((res) => {return {...res.data}})
}const submitEvent = () => {const $upload = refUpload.valueif ($upload) {$upload.submit(true)}
}
</script>

上傳圖片的詳細用法看這里

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913138.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913138.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913138.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

leaflet【十一】地圖瓦片路徑可視化

前言 在開發調試過程當中&#xff0c;如果引入的是公司內部的Gis地圖信息或者一些第三方定制來的Gis地圖數據&#xff0c;當某一些地圖塊數據缺失的時候&#xff0c;要打開F12去一個個找那些鏈接&#xff08;去找對應的xy與layer&#xff09;失效、那么你可能需要使用以下插件…

ES6從入門到精通:模塊化

ES6 模塊化基礎概念ES6 模塊化是 JavaScript 官方標準&#xff0c;通過 import 和 export 語法實現代碼拆分與復用。模塊化特點包括&#xff1a;每個文件是一個獨立模塊&#xff0c;作用域隔離。支持靜態分析&#xff0c;依賴關系在編譯時確定。輸出的是值的引用&#xff08;動…

stm32 USART串口協議與外設——江協教程踩坑經驗分享

江協stm32學習&#xff1a;9-1~9-3 USART串口協議與外設 一、串口通信基礎知識 1、通信類型&#xff1a; 全雙工通信&#xff1a;通信雙方能夠同時進行雙向通信。一般有兩根通信線&#xff0c;如USART中的TX&#xff08;發送&#xff09;和RX&#xff08;接收&#xff09;線&am…

深度學習中的一些名詞

向前傳播 forward pass 在機器學習中&#xff0c;輸入的feature, 通過預測模型&#xff0c;輸出預測值&#xff0c;此過程稱之為向前傳播&#xff1b; 向后傳播 backward pass 為了將預測與真實值的產值減小&#xff0c;需要根據差值&#xff0c;更新模型中的參數&#xff0c;此…

鴻蒙系統(HarmonyOS)應用開發之手勢鎖屏密碼鎖(PatternLock)

項目概述 基于鴻蒙&#xff08;OpenHarmony&#xff09;平臺開發的手勢密碼鎖應用&#xff0c;旨在為用戶提供安全、便捷且具有良好交互體驗的身份驗證方式。通過手勢圖案輸入&#xff0c;用戶可以輕松設置和驗證密碼&#xff0c;提升設備的安全性和個性化體驗。 功能特點 手…

vue文本插值

好的&#xff0c;我們來詳細講解 Vue 中最基礎的數據展示方式&#xff1a;文本插值和在其內部使用的 JavaScript 表達式。 1. 文本插值 (Text Interpolation) 知識點: 文本插值是 Vue 中最基本的數據綁定形式。它使用“Mustache”語法&#xff08;雙大括號 {{ }}&#xff09;…

Python:線性代數,向量內積諧音記憶。

目錄1 先說結論2 解釋3 歡迎糾錯4 論文寫作/Python 學習智能體------以下關于 Markdown 編輯器新的改變功能快捷鍵合理的創建標題&#xff0c;有助于目錄的生成如何改變文本的樣式插入鏈接與圖片如何插入一段漂亮的代碼片生成一個適合你的列表創建一個表格設定內容居中、居左、…

小程序導航設置更多內容的實現方法

在小程序中實現導航欄設置更多內容&#xff0c;可以通過以下幾種方式實現&#xff1a; 1. 使用原生導航欄自定義按鈕 javascript // app.json 或頁面.json中配置 {"navigationBarTitleText": "首頁","navigationBarTextStyle": "black&q…

SpringBoot 解決配置文件有黃色波浪線

在application.properties配置文件中有黃色波浪線&#xff0c;是警告!! 原因&#xff1a;編碼格式不一致&#xff01;&#xff01; 解決&#xff1a;Settings| Editor | File Encodings | 選擇UTF-8

在 Vue 3 中全局使用 Suspense 組件

Suspense 是 Vue 3 引入的一個內置組件&#xff0c;不需要引用可以直接用。用于處理異步依賴的等待狀態。雖然 Suspense 主要用于異步組件&#xff0c;但你也可以全局地使用它來管理整個應用的加載狀態。 全局 Suspense 的基本用法 1. 在根組件中使用 Suspense // main.js 或…

筆記/計算機網絡

Content 計算機網絡部分核心概念十大網絡協議一覽 計算機網絡部分核心概念 1. 什么是計算機網絡&#xff1f;它最基本的功能是什么&#xff1f; 計算機網絡是指通過某種傳輸介質將多臺獨立的計算機或設備連接起來&#xff0c;實現數據交換和資源共享的系統。其最基本的功能是數…

時頻圖數據集更正程序,去除坐標軸白邊及調整對應的標簽值

當數據集是時頻圖時可能有一個尷尬的問題&#xff0c;就是數據集制作好后&#xff0c;發現有白邊。 其實這也不影響訓練模型&#xff0c;可能對模型訓練效果的影響也是微乎其微的&#xff0c;于是大多數情況我會選擇直接用整張圖片訓練模型。但是&#xff0c;有的情況下&#x…

mv重命名報錯:bash:未預期的符號 ‘(‘附近有語法錯誤

文章目錄 一、報錯背景二、解決方法2.1、方法一&#xff1a;文件名加引號2.2、方法二&#xff1a;特殊字符前加\進行轉義 一、報錯背景 在linux上對一文件執行重命名時報錯。原因是該文件名包含空格與括號。 文件名如下&#xff1a; aa &#xff08;1).txt執行命令及報錯如下…

Unity-MMORPG內容筆記-其三

繼續之前的內容&#xff1a; 戰斗系統 無需多言&#xff0c;整個項目中最復雜的部分&#xff0c;也是代碼量最大的部分。 屬性系統 首先我們要定義一系列屬性&#xff0c;畢竟所謂的戰斗就是不斷地扣血對吧。 屬性系統是戰斗系統的核心模塊&#xff0c;負責管理角色的所有…

Linux入門篇學習——Linux 幫助手冊

目錄 一、Linux 幫助手冊 1.怎么打開幫助手冊 2.安裝依賴 3.使用手冊查看命令 一、Linux 幫助手冊 1.怎么打開幫助手冊 打開 ubuntu &#xff0c;輸入 man 命令打開幫助手冊&#xff0c;直接在控制臺輸入 man 就可以了&#xff0c; man 手冊一共有 9 頁&#xff0c…

2025年后端主流框架對比和競爭格局及趨勢發展

2025年的后端開發呈現出云原生主導、性能革命、AI深度融合的技術格局&#xff0c;主流框架在細分領域持續分化&#xff0c;新興技術快速滲透關鍵場景。以下是基于行業實踐與技術演進的深度解析&#xff1a; 一、主流框架競爭態勢與核心能力 1. Java生態&#xff1a;企業級市場的…

bRPC簡介

bRPC基礎介紹。 什么是RPC? 互聯網上的機器大都通過TCP/IP協議相互訪問&#xff0c;但TCP/IP只是往遠端發送了一段二進制數據&#xff0c;為了建立服務還有很多問題需要抽象&#xff1a; 數據以什么格式傳輸&#xff1f;不同機器間&#xff0c;網絡間可能是不同的字節序&am…

力扣網C語言編程題:在數組中查找目標值位置之二分查找法

一. 簡介 上一篇文章對力扣網上"有序數組中查找目標值范圍"題目進行了普通的解法。文章如下&#xff1a; 力扣網C語言編程題&#xff1a;在數組中查找目標值位置之暴力解法-CSDN博客 本文使用二分查找法進行實現&#xff0c;因為二分查找法符合題目要求&#xff0…

前端查詢條件加密傳輸方案(SM2加解密)

一、需求背景 控臺項目甲方進行安全測試&#xff0c;測試報告其中一條&#xff1a;敏感信息明文傳輸 1 敏感信息明文傳輸 中危 查詢接口傳輸手機號、銀行卡號等敏感信息時未加密/脫敏處理。 二、解決方案 討論出的方案是通過前端查詢條件加密&#xff0c;后端對加密的…

【Python】Flask網頁

Flask第三方庫安裝命令&#xff1a;pip install flask代碼&#xff1a;from flask import Flask app Flask(__name__)app.route("/") def hello():return "Hello world!"if __name__ "__main__":app.run()其中的"Hello world!"可以改…