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 相关文章推荐
JavaScript Sort 表格排序
Oct 31 Javascript
js注意img图片的onerror事件的分析
Jan 01 Javascript
调试Node.JS的辅助工具(NodeWatcher)
Jan 04 Javascript
浅谈javascript中的instanceof和typeof
Feb 27 Javascript
Node.js+Express配置入门教程详解
May 19 Javascript
js匿名函数作为函数参数详解
Jun 01 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
Nov 21 Javascript
JavaScript字符串对象(string)基本用法示例
Jan 18 Javascript
在Vue中使用echarts的实例代码(3种图)
Jul 10 Javascript
javascript获取指定区间范围随机数的方法
Sep 08 Javascript
jQuery zTree 异步加载添加子节点重复问题
Nov 29 jQuery
vue-cli点击实现全屏功能
Mar 07 Javascript
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实现用于删除整个目录的递归函数
2015/03/16 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
PHP进阶学习之反射基本概念与用法分析
2019/06/18 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
使用js判断TextBox控件值改变然后出发事件
2014/03/07 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
node.js中 redis 的安装和基本操作示例
2020/02/10 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
matplotlib 纵坐标轴显示数据值的实例
2018/05/25 Python
python之django母板页面的使用
2018/07/03 Python
全面了解django的缓存机制及使用方法
2019/07/22 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
2020/04/08 Python
详解anaconda安装步骤
2020/11/23 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
暑期社会实践方案
2014/02/05 职场文书
班长自荐书范文
2014/02/11 职场文书
党员组织关系介绍信
2014/02/13 职场文书
双语教学实施方案
2014/03/23 职场文书
护士长竞聘书
2014/03/31 职场文书
实习单位推荐信
2015/03/27 职场文书
警示教育观后感
2015/06/17 职场文书
保险公司岗前培训工作总结
2015/10/24 职场文书
pytorch 如何使用float64训练
2021/05/24 Python
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js