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 相关文章推荐
如何取得中文输入的真实长度?
Jun 24 Javascript
什么是json和jsonp,jQuery json实例详详细说明
Dec 11 Javascript
Jquery 实现图片轮换
Jan 28 Javascript
JavaScript实现瀑布流布局
Jun 28 Javascript
jquery动态创建div与input的实例代码
Oct 12 Javascript
获取jqGrid中选择的行的数据
Nov 30 Javascript
Easyui使用Dialog行内按钮布局的实例
Jul 27 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
Aug 17 Javascript
ES6中Array.find()和findIndex()函数的用法详解
Sep 16 Javascript
layui 对弹窗 form表单赋值的实现方法
Sep 04 Javascript
微信小程序 scroll-view 实现锚点跳转功能
Dec 12 Javascript
vue 数字翻牌器动态加载数据
Apr 20 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
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
基于jQuery的图片剪切插件
2011/08/03 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
JavaScript数值数组排序示例分享
2014/05/27 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
每天一篇javascript学习小结(RegExp对象)
2015/11/17 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
使用jQuery实现购物车结算功能
2017/08/15 jQuery
Vue封装的可编辑表格插件方法
2018/08/28 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
Python 开发Activex组件方法
2009/11/08 Python
python解析xml模块封装代码
2014/02/07 Python
Python实现网站文件的全备份和差异备份
2014/11/30 Python
Python中函数参数调用方式分析
2018/08/09 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
pycharm 实现复制一行的快捷键
2021/01/15 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
LINUX下线程,GDI类的解释
2016/12/14 面试题
学术会议欢迎词
2014/01/09 职场文书
优秀中学生事迹材料
2014/01/31 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
如何用JS实现网页瀑布流布局
2021/04/24 Javascript