<div id="app">
<div class="demo-image__preview" v-for="(imgfile) in url">
<el-image
style="width: 100px; height: 100px"
:src="imgfile.value"
:preview-src-list="srcList">
</el-image>
</div>
</div>
var Main = {
data() {
return {
url: [
{value: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'},
{value: 'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg'}
],
srcList: ['https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg',
'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg'
]
}
}
}
<div id="app">
<div class="demo-image__preview" v-for="(imgfile) in url">
<el-image
style="width: 100px; height: 100px"
:src="imgfile.value"
:preview-src-list="imgfile.srcList">
</el-image>
</div>
</div>
var Main = {
data() {
return {
url: [
{value: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
srcList:['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg']
},
{value: 'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg',
srcList:['https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg'] }
]
}
}
}
你直接用el-image-viewer 这个组件
<template>
<el-image-viewer
v-if="showViewer"
:initialIndex="initialIndex"
:on-close="closeViewer"
:url-list="imageList"/>
</template>
<script>
import ElImageViewer from 'element-ui/packages/image/src/image-viewer';
export default {
components: { ElImageViewer },
props: {
imageList: {
type: Array,
require: true
},
initialIndex: {
type: Number,
default: 0
},
},
data() {
return {
showViewer: false
}
},
methods: {
show() {
this.showViewer = true;
document.body.style.overflow = 'hidden'
},
// 关闭查看器
closeViewer() {
this.showViewer = false;
this.$emit('close')
document.body.style.overflow = ''
}
},
}
</script>
因为预览的属性是个数组,它是根据数组中图片的顺序进行预览的。可以把srcList这个属性设置成当前的图片,即::preview-src-list="[imgfile.value]"