el-image组件提供点击图片才可进行放大预览,现有需求:通过点击自定义的放大按钮,实现预览。
element官方文档没有给出相关的方法,其实预览的实现是通过控制showViewer 属性。
通过ref获取组件,在点击事件中设置showViewer为true(previewList是预览图片的数组,z-index根据情况可以不设)
<div v-for="(i, index) in carouselList" :key="i.id">
<el-image :ref="`previewImg_` + index" :src="i.img" :preview-src-list="previewList" :z-index=3000>
</el-image>
</div>
<el-button @click="imgPreview(index)">预览图片</el-button>
在对应的点击事件中加入
imgPreview(index) {
this.$refs['previewImg_' + index][0].showViewer = true
}