From 6b36385fa55a97144819e9cd6afc62f9314db438 Mon Sep 17 00:00:00 2001
From: CrazyLionLi <31852897+JavaLionLi@users.noreply.github.com>
Date: 星期一, 18 四月 2022 20:01:57 +0800
Subject: [PATCH] fix 修复图片上传组件 数据异常问题

---
 src/components/ImageUpload/index.vue |   34 ++++++++--------------------------
 1 files changed, 8 insertions(+), 26 deletions(-)

diff --git a/src/components/ImageUpload/index.vue b/src/components/ImageUpload/index.vue
index adc0428..6dc2e25 100644
--- a/src/components/ImageUpload/index.vue
+++ b/src/components/ImageUpload/index.vue
@@ -105,22 +105,18 @@
     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) {
   uploadList.value.push({ name: res.fileName, url: res.fileName });
   if (uploadList.value.length === number.value) {
-    fileList.value = fileList.value.concat(uploadList.value);
+    fileList.value = fileList.value.filter(f => f.url !== undefined).concat(uploadList.value);
     uploadList.value = [];
     number.value = 0;
     emit("update:modelValue", listToString(fileList.value));
@@ -157,7 +153,7 @@
       return false;
     }
   }
-  proxy.$modal.loading("涓婁紶涓�");
+  proxy.$modal.loading("姝e湪涓婁紶鍥剧墖锛岃绋嶅��...");
   number.value++;
 }
 
@@ -168,7 +164,7 @@
 
 // 涓婁紶澶辫触
 function handleUploadError() {
-  proxy.$modal.msgError("涓婁紶澶辫触");
+  proxy.$modal.msgError("涓婁紶鍥剧墖澶辫触");
   proxy.$modal.closeLoading();
 }
 
@@ -183,24 +179,10 @@
   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) : "";
 }
 </script>
-
-<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);
-}
-</style>
\ No newline at end of file

--
Gitblit v1.9.3