Element之el-image 预览单独使用

Element-UI中el-image中的预览功能没有单独提供api。又想使用功能。

方法一:此方法就是直接导入。node_modules中的element-ui中的image-viewer

    import ElImageViewer from 'element-ui/packages/image/src/image-viewer'

因为包含es6 语法,所以ie部分可能无法兼容。

方法二 直接把image-viewer源码等相关文件copy出来
此法过于繁琐,因为牵涉到的方法还蛮多

方法三: 依然使用el-image。只不过不传src,然后使用slot error来自定义需要显示的布局。
el-image源码可以看到,点击img触发下方方法进行预览

   clickHandler() {
        // don't show viewer when preview is false
        if (!this.preview) {
          return;
        }
        // prevent body scroll
        prevOverflow = document.body.style.overflow;
        document.body.style.overflow = 'hidden';
        this.showViewer = true;
      },

所以只需要在你需要使用功能的地方传入preview-src-list数据手动且调用$refs.xx.clickHandler()即可。

注意:可以看到只有preview不为空时,才会触发预览,所以尽量将$refs.xx.clickHandler()放到$nextTick

    computed: {
      preview() {
        const { previewSrcList } = this;
        return Array.isArray(previewSrcList) && previewSrcList.length > 0;
      }
 }

千里之行
始于足下

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值