公司的项目是使用vuejs开发的,用到了vant组件库中ImagePreview组件来查看大图,单单只是浏览大图的话确实很好用,如果要加上其他功能就比较繁琐,查看了官方文档,ImagePreview没有提供长按事件以及相对应的方法,社区https://ask.dcloud.net.cn/question/66750也有同胞遇到相同的问题,依旧没有解决,开发时间有限只有曲线解决一下这个问题。
当然,这个问题也可以通过调用原生的浏览大图来解决,由于在我们的项目中和原生交互的接口已经完成,如需新增其他的功能需要进行一轮评审,周期会拉长,所以没有采取该方案,还可以自己实现一套新的浏览大图的方案,这样同样会浪费很长时间,所以就有了接下来的解决方案。
1、在main.js中导入
import { ImagePreview } from 'vant'
2、在查看大图的页面引入该组件,以下代码就是引用的方式,如果还有其他自定的需求可以在template随意发挥
*previewImages是图片源数据,isLoop是标识ImagePreview是否循环滑动,如需了解更多可查看官方文档
<van-image-preview
v-model="isShowPreview"
:images="previewImages"
:loop="isLoop"