From fda152b544ed0b3ceb8309df5b7eca2de888f3f1 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期二, 10 六月 2025 11:39:55 +0800 Subject: [PATCH] 开票登记编辑功能开发 --- src/components/ImagePreview/index.vue | 42 ++++++++++++++++++++++++------------------ 1 files changed, 24 insertions(+), 18 deletions(-) diff --git a/src/components/ImagePreview/index.vue b/src/components/ImagePreview/index.vue index cd6a157..00212c5 100644 --- a/src/components/ImagePreview/index.vue +++ b/src/components/ImagePreview/index.vue @@ -4,7 +4,7 @@ fit="cover" :style="`width:${realWidth};height:${realHeight};`" :preview-src-list="realSrcList" - append-to-body="true" + preview-teleported > <template #error> <div class="image-slot"> @@ -15,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], @@ -30,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