element ui的el-upload上传组件中使用el-image的图片预览
问题
想在element ui的el-upload
上传组件中使用el-image
的图片预览,这样就可以放大和缩小还有多张图片切换
因为el-upload
提供的是使用对话框查看图片,不能放大缩小还不能左右切换
说明
在el-image
组件内的预览功能是使用的el-image-viewer
这个小组件实现的,所以我们直接导入调用这个组件即可
还有就是要设置一下层级z-index
,不然图片可能在弹窗后面,如果不是对话框可以不用设置
参考文章1:https://www.cnblogs.com/it774274680/p/16739988.html
参考文章2:https://blog.csdn.net/ZYS10000/article/details/121881485
效果
代码
<template>
<div class="app">
<el-upload action="" list-type="picture-card" :on-preview="handlePictureCardPreview"
:file-list="fileList"></el-upload>
<image-viewer v-if="imgViewerVisible" :urlList="previewSrcList" :on-close="onClose" :z-index="2100" />
</div>
</template>
import ImageViewer from "element-ui/packages/image/src/image-viewer";
export default {
components: {
ImageViewer,
},
data() {
return {
fileList: [],
previewSrcList:[],
imgViewerVisible: false,
};
},
methods: {
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
//把用户点击的那张图片放到第一个位置,这样打开就能看到自己点击的那张图片
this.previewSrcList = this.fileList.filter(e => e.url !== file.url).map(e=> e.url);
this.previewSrcList.unshift(file.url)
//设置 图片查看器 进行显示
this.imgViewerVisible = true;
},
onClose() {
this.imgViewerVisible = false;
}
},
};
</script>
分类:
vue / element ui
标签:
element ui
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!