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 相关文章推荐
jquery parent和parents的区别分析
Oct 02 Javascript
解决js中window.open弹出的是上次的缓存页面问题
Dec 29 Javascript
Bootstrap所支持的表单控件实例详解
May 16 Javascript
浅析JSONP技术原理及实现
Jun 08 Javascript
三种方式实现瀑布流布局
Feb 10 Javascript
js读取json文件片段中的数据实例
Mar 09 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
Apr 27 Javascript
详解通过JSON数据使用VUE.JS
May 26 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
Sep 13 Javascript
vue-cli 构建骨架屏的方法示例
Nov 08 Javascript
JQuery属性操作与循环用法示例
May 15 jQuery
vue+iview实现文件上传
Nov 17 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
DC的38部超级英雄动画电影
2020/03/03 欧美动漫
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
php base64 编码与解码实例代码
2017/03/21 PHP
js变量作用域及可访问性的探讨
2006/11/23 Javascript
新浪的图片新闻效果
2007/01/13 Javascript
JS 时间显示效果代码
2009/08/23 Javascript
JS类的封装及实现代码
2009/12/02 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
举例详解Python中smtplib模块处理电子邮件的使用
2015/06/24 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
js实现微信分享代码
2020/10/11 Javascript
jQuery获取浏览器类型和版本号的方法
2016/07/05 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
2018/09/27 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
element el-tree组件的动态加载、新增、更新节点的实现
2020/02/27 Javascript
ElementUI中el-tree节点的操作的实现
2020/02/27 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
2020/07/20 Javascript
JavaScript实现移动小精灵的案例代码
2020/12/12 Javascript
Python中的__SLOTS__属性使用示例
2015/02/18 Python
用Python给文本创立向量空间模型的教程
2015/04/23 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
2019/06/28 Python
深入了解Django中间件及其方法
2019/07/26 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
Django中FilePathField字段的用法
2020/05/21 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
成教毕业生自我鉴定
2013/10/23 职场文书
高二英语教学反思
2016/03/03 职场文书
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记