Vue基于iview table展示图片实现点击放大


Posted in Javascript onAugust 05, 2020

首先先安装依赖:

npm install v-viewer --save

然后全局引入,我这边是在main.js里面操作写的:

import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'

然后注册下:

Vue.use(Viewer)
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' }
})

使用的一个demo就是:

<viewer :images="tupians">
   <i-col span="4" v-for="item in tupians">
     <div class="detailed">
      <img :src="item.img" alt="">
     </div>
   </i-col>
</viewer>

其中item.img其实就是一个路径。

在回到iview表格中,

需要以

h('xxxx', {
        props: {
          trigger: 'hover',
          placement: 'top',
          content: '二维码'
        }
      }, [
      ])

这种格式渲染出来,第一个参数是标签,第二参数是标签里面可以含props(vue的v-bind),也可以包含属性。第三个参数是数组,表示子标签。子标签也是这种格式的,以此递归下去。

所以改写成这种格式的,在本人项目中的一个demo如下,就可以实现在表格中点击图片进行放大展示:

{
  title: '二维码',
  align: 'center',
  render: (h, params) => {
    console.log('h, param', params);
    let devicesArr = [];
    let photo = [];
    photo.push('/erweima/'+params.row.pt_number+'.png');
    devicesArr.push(
      h('Tooltip', {
        props: {
          trigger: 'hover',
          placement: 'top',
          content: '二维码'
        }
      }, [
        h('viewer', {
          props:{
            images:photo
          }
        }, [
          h('img', {
            attrs: {
              src:photo[0],
              style: 'width: 22px;margin-right:5px'
            },
          })
        ])
      ])
    );
    return h('div', devicesArr);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
动态加载js的几种方法
Oct 23 Javascript
理解Javascript_02_理解undefined和null
Oct 11 Javascript
jquery的ajax请求全面了解
Mar 20 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
Dec 03 Javascript
JS组件Bootstrap Table使用实例分享
May 30 Javascript
很酷的星级评分系统原生JS实现
Aug 25 Javascript
浅析JavaScript动画模拟拖拽原理
Dec 09 Javascript
js代码延迟一定时间后执行一个函数的实例
Feb 15 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
Aug 14 Javascript
详解js中Array的方法及技巧
Sep 12 Javascript
微信小程序实现转盘抽奖
Sep 21 Javascript
vue keep-alive的简单总结
Jan 25 Vue.js
vue相同路由跳转强制刷新该路由组件操作
Aug 05 #Javascript
解决vue路由name同名,路由重复的问题
Aug 05 #Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
Aug 05 #Javascript
Vue 同步异步存值取值实现案例
Aug 05 #Javascript
详解vue路由
Aug 05 #Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
Aug 05 #Javascript
vant 自定义 van-dropdown-item的用法
Aug 05 #Javascript
You might like
php实现的Curl封装类Curl.class.php用法实例分析
2015/09/25 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
2017/02/19 Javascript
详谈js遍历集合(Array,Map,Set)
2017/04/06 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
js操作二进制数据方法
2018/03/03 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
详解Python中for循环的使用方法
2015/05/14 Python
python 性能优化方法小结
2017/03/31 Python
Python Numpy库安装与基本操作示例
2019/01/08 Python
python调试神器PySnooper的使用
2019/07/03 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
JAVA中的关键字有什么特点
2014/03/07 面试题
公司综合部的成员自我评价分享
2013/11/05 职场文书
发展部经理职责规定
2014/02/22 职场文书
工程建设实施方案
2014/03/14 职场文书
运输服务质量承诺书
2014/03/27 职场文书
房产公证书范本
2014/04/10 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
2014年办公室人员工作总结
2014/12/09 职场文书
Django使用redis配置缓存的方法
2021/06/01 Redis
详解 TypeScript 枚举类型
2021/11/02 Javascript