vue使用v-viewer插件做图片展示预览遇到弹框再次打开无法预览图片问题

使用element-ui框架;v-viewer图片预览插件;

问题描述:

列表中点击查看详情,e-dialog弹框查看详情;弹框中有多张图片;

列表刷新后,首次点击查看详情时;点击图片预览放大正常;关闭弹框后再次打开查看详情;点击图片无反应;

挠头一小时,头发掉一地!!!

经过大量比对。最后发下其问题所在:(就是技术菜)

下面是有问题的代码片段:

<el-form-item label="渠道结算截图">
  <viewer>
    <img  v-for="src in imgShow(form.channelSettlementPictures)" :src="src" :key="src" width="auto" height="60px"/>
  </viewer>
</el-form-item>

上述代码中;接收图片集合字符串,处理成集合进行循环;首次弹框访问正常。

解决问题代码片段:

<el-form-item label="渠道结算截图">
  <viewer :images="imgShow(form.channelSettlementPictures)">
     <img  v-for="src in imgShow(form.channelSettlementPictures)" :src="src" :key="src" width="auto" height="60px"/>
  </viewer>
</el-form-item>

其核心在于是否赋值引用控件初始值:

:images="imgShow(form.channelSettlementPictures)"

这句话中的":images"是viewer插件的固定参数值;接收值为集合类型值;加入这句话就可以解决问题了。

还有弹框层级问题:

需要修改viewer的默认层级,我这里是在全局定义修改的,仅供参考

Vue.use(Viewer, {
  defaultOptions: {
    zIndex: 9999,
  } })
Viewer.setDefaults({
  Options: { 'inline': true, 'button': true, 'navbar': true, 'title': true, 'toolbar': true, 'tooltip': true, 'movable': true, 'zoomable': true, 'rotatable': true, 'scalable': true, 'transition': true, 'fullscreen': true, 'keyboard': true, 'url': 'data-source' }
})

这里的

defaultOptions: {
    zIndex: 9999,
  } }

是解决层级问题关键所在;

以上就是一晚上的问题解决方案。。。。(前端需要学的还很多啊!)

参考地址:

v-viewer官网 

npmjs-v-viewer

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值