From 67d22d6e60593eef3ed59815d2a3578e46672505 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=83=A1=E5=B0=91=E7=BF=94?= <971366405@qq.com>
Date: Thu, 25 Jul 2024 14:53:37 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20:sparkles:=20=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0=E7=BB=84=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Upload/FileUpload.vue | 6 +-
src/components/Upload/ImageUpload.vue | 19 ++++---
src/components/Upload/SingleUpload.vue | 77 --------------------------
src/views/demo/upload.vue | 44 ++++++++++-----
4 files changed, 46 insertions(+), 100 deletions(-)
delete mode 100644 src/components/Upload/SingleUpload.vue
diff --git a/src/components/Upload/FileUpload.vue b/src/components/Upload/FileUpload.vue
index 76ab92f5..7c8251bd 100644
--- a/src/components/Upload/FileUpload.vue
+++ b/src/components/Upload/FileUpload.vue
@@ -108,7 +108,7 @@ const props = defineProps({
default: true,
},
/**
- * 单张图片最大大小
+ * 单个文件上传大小限制(单位byte)
*/
uploadMaxSize: {
type: Number,
@@ -154,7 +154,7 @@ const props = defineProps({
},
},
/**
- * 请求参数
+ * 请求携带的额外参数
*/
data: {
type: Object,
@@ -163,7 +163,7 @@ const props = defineProps({
},
},
/**
- * 上传文件字段名
+ * 上传文件的参数名
*/
name: {
type: String,
diff --git a/src/components/Upload/ImageUpload.vue b/src/components/Upload/ImageUpload.vue
index d0a6a9cf..905cf00e 100644
--- a/src/components/Upload/ImageUpload.vue
+++ b/src/components/Upload/ImageUpload.vue
@@ -10,6 +10,7 @@
:action="props.action"
:headers="props.headers"
:data="props.data"
+ :name="props.name"
:on-success="handleSuccessFile"
:on-error="handleError"
:accept="props.accept"
@@ -17,7 +18,7 @@
>
-
+
@@ -84,7 +85,7 @@ const props = defineProps({
},
},
/**
- * 请求参数
+ * 请求携带的额外参数
*/
data: {
type: Object,
@@ -92,6 +93,13 @@ const props = defineProps({
return {};
},
},
+ /**
+ * 上传文件的参数名
+ */
+ name: {
+ type: String,
+ default: "file",
+ },
/**
* 文件上传数量限制
*/
@@ -190,14 +198,11 @@ const handleError = (error: any) => {
*/
function handleRemove(removeFile: UploadFile) {
const filePath = removeFile.url;
-
if (filePath) {
FileAPI.deleteByPath(filePath).then(() => {
+ valFileList.value = valFileList.value.filter((x) => x !== filePath);
// 删除成功回调
- emit(
- "update:modelValue",
- fileList.value.map((file) => file.url)
- );
+ emit("update:modelValue", valFileList.value);
});
}
}
diff --git a/src/components/Upload/SingleUpload.vue b/src/components/Upload/SingleUpload.vue
deleted file mode 100644
index 5da8039a..00000000
--- a/src/components/Upload/SingleUpload.vue
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/demo/upload.vue b/src/views/demo/upload.vue
index 23f8a857..cfeb16db 100644
--- a/src/views/demo/upload.vue
+++ b/src/views/demo/upload.vue
@@ -18,6 +18,30 @@ const imageUploadArgData = [
default: "[]",
desc: "已经上传的图片数组",
},
+ {
+ argsName: "action",
+ type: "String",
+ default: "FileAPI.uploadUrl",
+ desc: "文件上传地址",
+ },
+ {
+ argsName: "headers",
+ type: "Object",
+ default: "{Authorization: localStorage.getItem(TOKEN_KEY),}",
+ desc: "提示文本类型",
+ },
+ {
+ argsName: "data",
+ type: "Object",
+ default: "{}",
+ desc: "请求携带的额外参数",
+ },
+ {
+ argsName: "name",
+ type: "String",
+ default: "file",
+ desc: "上传文件的参数名",
+ },
{
argsName: "limit",
type: "Number",
@@ -36,18 +60,18 @@ const imageUploadArgData = [
default: true,
desc: "是否显示上传按钮",
},
- {
- argsName: "accept",
- type: "String",
- default: "image/*",
- desc: "上传文件类型",
- },
{
argsName: "upload-max-size",
type: "Number",
default: "2 * 1024 * 1024",
desc: "单个图片上传大小限制(单位byte)",
},
+ {
+ argsName: "accept",
+ type: "String",
+ default: "image/*",
+ desc: "上传文件类型",
+ },
];
const fileUrls = ref([
@@ -172,13 +196,7 @@ const fileUploadArgData = [
-
+