若依--图片预览组件
若依的图片预览组件,很实用,放在这里:
上代码,ImagePreview:
<template>
<el-image
:src="`${realSrc}`"
fit="cover"
:style="`width:${realWidth};height:${realHeight};min-width:50px`"
:preview-src-list="realSrcList"
:preview-teleported="true"
>
<template #error>
<div class="image-slot">
<el-icon><PictureFilled /></el-icon>
</div>
</template>
</el-image>
</template>
<script setup>
const props = defineProps({
src: {
type: [String , Array],
default: ""
},
defautSrc: {
type: [String , Array],
default: ""
},
width: {
type: [Number, String],
default: ""
},
height: {
type: [Number, String],
default: ""
}
});
const realSrc = computed(() => {
if (!props.src) {
return;
}
let real_src = Array.isArray(props.src) ? props.src.map(z=>z.url)[0] : props.src?.split(",")[0]
return real_src || props.defautSrc;
});
const realSrcList = computed(() => {
if (!props.src) {
return;
}
let real_src_list = Array.isArray(props.src) ? props.src.map(z=>z.url) : props.src?.split(",")
let srcList = [];
(real_src_list || [props.defautSrc]).forEach(item => {
return srcList.push(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>
.el-image {
// border-radius: 5px;
// background-color: #ebeef5;
// box-shadow: 0 0 5px 1px #ccc;
:deep(.el-image__inner) {
transition: all 0.3s;
cursor: pointer;
&:hover {
transform: scale(1.2);
}
}
:deep(.image-slot) {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
color: #909399;
font-size: 30px;
}
}
</style>
作者:胡倩倩0903
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
posted on 2023-05-08 14:48 kitty20180903suzhou 阅读(1903) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)