以下是官方的写法,并不能达到我们的要求,官方实现的功能是点击图片达到预览大图的效果。如果你的按钮就是图片,也可以达到目前的功能
<div class="demo-image__preview"> <el-image style="width: 100px; height: 100px" ref="previewImg" :src="url" :preview-src-list="srcList"> </el-image> </div> <el-button type="danger" @click="viewBigPicture">点击按钮查看大图</el-button> <script lang="ts" setup> import { ref, computed, reactive, defineComponent } from 'vue' const previewImg = ref(null) const viewBigPicture = () =>{ previewImg.value.clickHandler() } </script>
<template> <div class="demo-image__preview"> <el-image style="width: 100px; height: 100px" :src="url" :preview-src-list="srcList" :initial-index="4" fit="cover" /> </div> </template> <script lang="ts" setup> const url = 'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg' const srcList = [ 'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg', 'https://fuss10.elemecdn.com/1/34/19aa98b1fcb2781c4fba33d850549jpeg.jpeg', 'https://fuss10.elemecdn.com/0/6f/e35ff375812e6b0020b6b4e8f9583jpeg.jpeg', 'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg', 'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg', 'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg', 'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg', ] </script> <style scoped> .demo-image__error .image-slot { font-size: 30px; } .demo-image__error .image-slot .el-icon { font-size: 30px; } .demo-image__error .el-image { width: 100%; height: 200px; } </style>