app.vue中的代码如下:
<template>
<div ref="box" class="box" v-html="imageText"></div>
</template>
<script setup>
import { showImagePreview } from 'vant';
import {onMounted, ref} from "vue";
const imageText = ref(`<div class="box">
<img style="width: 100%" src="https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg" alt="">
<img style="width: 100%" src="https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg" alt="">
</div>`)
onMounted(()=>{
const box = document.querySelector('.box');
console.log('box', box)
const image_list = box.querySelectorAll('img')
const images = []
image_list.forEach((item,index)=>{
images.push(item.src)
item.onclick = ()=>{
showImagePreview({
images,
startPosition: index
})
}
})
})
</script>
<style scoped lang="less">
</style>
效果如下:
未点击时:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e28be52901ee075128fb0ac4949b2be4.png)
点击完后
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4cf315ed6576f0c50b80437021f53df2.png)