From 9ff9962d8d2d4cb1cd5d6abcb902e916c44cda03 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期四, 08 五月 2025 14:28:29 +0800 Subject: [PATCH] 客户档案页面开发 --- src/components/ImagePreview/index.vue | 41 ++++++++++++++++++++++++----------------- 1 files changed, 24 insertions(+), 17 deletions(-) diff --git a/src/components/ImagePreview/index.vue b/src/components/ImagePreview/index.vue index c29c065..00212c5 100644 --- a/src/components/ImagePreview/index.vue +++ b/src/components/ImagePreview/index.vue @@ -4,6 +4,7 @@ fit="cover" :style="`width:${realWidth};height:${realHeight};`" :preview-src-list="realSrcList" + preview-teleported > <template #error> <div class="image-slot"> @@ -14,12 +15,12 @@ </template> <script setup> -import { isExternal } from "@/utils/validate"; +import { isExternal } from "@/utils/validate" const props = defineProps({ src: { type: String, - required: true + default: "" }, width: { type: [Number, String], @@ -29,35 +30,41 @@ type: [Number, String], default: "" } -}); +}) const realSrc = computed(() => { - let real_src = props.src.split(",")[0]; - if (isExternal(real_src)) { - return real_src; + if (!props.src) { + return } - return import.meta.env.VITE_APP_BASE_API + real_src; -}); + let real_src = props.src.split(",")[0] + if (isExternal(real_src)) { + return real_src + } + return import.meta.env.VITE_APP_BASE_API + real_src +}) const realSrcList = computed(() => { - let real_src_list = props.src.split(","); - let srcList = []; + if (!props.src) { + return + } + let real_src_list = props.src.split(",") + let srcList = [] real_src_list.forEach(item => { if (isExternal(item)) { - return srcList.push(item); + return srcList.push(item) } - return srcList.push(import.meta.env.VITE_APP_BASE_API + item); - }); - return srcList; -}); + return srcList.push(import.meta.env.VITE_APP_BASE_API + item) + }) + return srcList +}) const realWidth = computed(() => typeof props.width == "string" ? props.width : `${props.width}px` -); +) const realHeight = computed(() => typeof props.height == "string" ? props.height : `${props.height}px` -); +) </script> <style lang="scss" scoped> -- Gitblit v1.9.3