From 439b134c9b54ce7fa89f7963ff1c62e79997c00a Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期二, 23 八月 2022 20:47:41 +0800
Subject: [PATCH] 优化页面内嵌iframe切换tab不刷新数据
---
src/components/ImageUpload/index.vue | 42 ++++++++++++++++++++----------------------
1 files changed, 20 insertions(+), 22 deletions(-)
diff --git a/src/components/ImageUpload/index.vue b/src/components/ImageUpload/index.vue
index f30eeab..7580438 100644
--- a/src/components/ImageUpload/index.vue
+++ b/src/components/ImageUpload/index.vue
@@ -1,6 +1,7 @@
<template>
<div class="component-upload-image">
<el-upload
+ multiple
:action="uploadImgUrl"
list-type="picture-card"
:on-success="handleUploadSuccess"
@@ -73,6 +74,8 @@
const { proxy } = getCurrentInstance();
const emit = defineEmits();
+const number = ref(0);
+const uploadList = ref([]);
const dialogImageUrl = ref("");
const dialogVisible = ref(false);
const baseUrl = import.meta.env.VITE_APP_BASE_API;
@@ -102,22 +105,23 @@
fileList.value = [];
return [];
}
-});
+},{ deep: true, immediate: true });
// 鍒犻櫎鍥剧墖
function handleRemove(file, files) {
- const findex = fileList.value.map(f => f.name).indexOf(file.name);
- if (findex > -1) {
- fileList.value.splice(findex, 1);
- emit("update:modelValue", listToString(fileList.value));
- }
+ emit("update:modelValue", listToString(fileList.value));
}
// 涓婁紶鎴愬姛鍥炶皟
function handleUploadSuccess(res) {
- fileList.value.push({ name: res.fileName, url: res.fileName });
- emit("update:modelValue", listToString(fileList.value));
- proxy.$modal.closeLoading();
+ uploadList.value.push({ name: res.fileName, url: res.fileName });
+ if (uploadList.value.length === number.value) {
+ fileList.value = fileList.value.filter(f => f.url !== undefined).concat(uploadList.value);
+ uploadList.value = [];
+ number.value = 0;
+ emit("update:modelValue", listToString(fileList.value));
+ proxy.$modal.closeLoading();
+ }
}
// 涓婁紶鍓峫oading鍔犺浇
@@ -149,7 +153,8 @@
return false;
}
}
- proxy.$modal.loading("涓婁紶涓�");
+ proxy.$modal.loading("姝e湪涓婁紶鍥剧墖锛岃绋嶅��...");
+ number.value++;
}
// 鏂囦欢涓暟瓒呭嚭
@@ -159,7 +164,7 @@
// 涓婁紶澶辫触
function handleUploadError() {
- proxy.$modal.msgError("涓婁紶澶辫触");
+ proxy.$modal.msgError("涓婁紶鍥剧墖澶辫触");
proxy.$modal.closeLoading();
}
@@ -174,7 +179,9 @@
let strs = "";
separator = separator || ",";
for (let i in list) {
- strs += list[i].url.replace(baseUrl, "") + separator;
+ if (undefined !== list[i].url && list[i].url.indexOf("blob:") !== 0) {
+ strs += list[i].url.replace(baseUrl, "") + separator;
+ }
}
return strs != "" ? strs.substr(0, strs.length - 1) : "";
}
@@ -183,15 +190,6 @@
<style scoped lang="scss">
// .el-upload--picture-card 鎺у埗鍔犲彿閮ㄥ垎
:deep(.hide .el-upload--picture-card) {
- display: none;
-}
-// 鍘绘帀鍔ㄧ敾鏁堟灉
-:deep(.el-list-enter-active),
-:deep(.el-list-leave-active) {
- transition: all 0s;
-}
-:deep(.el-list-enter, .el-list-leave-active) {
- opacity: 0;
- transform: translateY(0);
+ display: none;
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3