viewer与 iview Carousel(走马灯) 结合使用,图片无法显示

问题原因:iview Carousel (走马灯)在加载是如果没有图片 它没有高度。之后给src赋值,图片无法显示,拖动一下浏览器宽或搞它就会显示。 走马灯解决这个问题方法:1在Carousel或其父组件上使用v-if;2修改iview源码。然而,使用v-if后会导致 viewer  组件无法显示图片。

实际业务代码:

1<Tab-Pane label="草本样方" name="name3"> 2 <RadioGroup v-model="selectModel_cb" v-on:on-change="selectChangeCB" class="redioDiv"> 3 <Radio v-for="item in typeList" v-bind:label="item.value">{{item.label}}</Radio> 4 </RadioGroup> 5 6 <row v-show="selectModel_cb==1"> 7 <i-Col span="16"> 8 <i-Table v-bind:height="gvheight" size="small" v-bind:columns="gvcolumns_cb" v-bind:data="gvdata_cb"></i-Table> 9 </i-Col> 10 <i-Col span="8"> 11 <row> 12 <div id="chartPie6" style="width:100%;height:600px"></div> 13 </row> 14 </i-Col> 15 </row> 16 <row v-show="selectModel_cb==2"> 17 <i-Col span="16"> 18 <i-Table v-bind:height="gvheight" size="small" v-bind:columns="gvcolumns2_cb" v-bind:data="gvdata2_cb"></i-Table> 19 </i-Col> 20 <i-Col span="8"> 21 <row> 22 <div style="margin: 0px 10px 0px 10px"> 23 <label> 类型: </label> 24 <i-Select v-model:v-model="selectModelFieldCB" v-on:on-change="selectChangeFieldCB" style="width:100px"> 25 <i-Option v-for="item in selectFile_cb" v-bind:value="item.key" v-bind:key="item.title">{{ item.title }}</i-Option> 26 </i-Select> 27 </div> 28 </row> 29 <row> 30 <div id="chartPie3" style="width:100%;height:600px"></div> 31 </row> 32 </i-Col> 33 </row> 34 <div v-if="selectModel_cb==3" > 35 <div id="dowebok_cb"> 36 37 <Carousel v-bind:radius-dot="carouselDot_cb" dots="outside" v-bind:height="imgHeight2+'px'" v-model="carouselValue_cb" style="text-align:center;"> 38 <div v-for="item in imgData_cb"> 39 <Carousel-Item > 40 41 @*<img v-bind:src="item.src" style="height:inherit;width:100%;cursor:pointer;" />*@ 42 <img v-bind:src="item.src" style="height:inherit;width:auto;cursor:pointer;" /> 43 <div ><span class="carousel-text"> {{item.name}}</span></div> 44 45 46 </Carousel-Item> 47 </div> 48 </Carousel> 49 </div> 50 </div> 51 </Tab-Pane>

View Code

解决方案: 每次v-if 之后 重新注册viewer组件。

1selectChangeCB: function (typeSelect) { 2 let that = this; 3 that.selectModel_cb = typeSelect; 4 if (typeSelect < 3) { 5 pie(that.gvdata2_cb, typeSelect == 1 ? 'duodu' : 'zhongyaozhi', typeSelect == 1 ? 6 : 3); 6 } else { 7 that.$nextTick(function () { 8 viewer = new Viewer(document.getElementById('dowebok_cb')); 9 }); 10 } 11 },

这里根据业务需要通过selectChangeCB点击事件完成;你也可以在watch中监听 v-if 对象的状态,然后执行:

this.$nextTick(function () {
 viewer = new Viewer(document.getElementById('dowebok_cb'));
});

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

一篇文章带你了解JavaScript日期

日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用

皕杰报表(关于日期时间时分秒显示不出来)

在使用皕杰报表设计器时,数据据里面是日期型,但当你web预览时候,发现有日期时间类型的数据时分秒显示不出来,只有年月日能显示出来,时分秒显示为0:00:00。1.可以使用tochar解决,数据集用selecttochar(flowdate,"yyyyMMddHH:mm:ss")fromtablename2.也可以把数据库日期类型date改成timestamp

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

JS 苹果手机日期显示NaN问题

问题描述newDate("2019122910:30:00")在IOS下显示为NaN原因分析带的日期IOS下存在兼容问题解决方法字符串替换letdateStr"2019122910:30:00";datedateStr.repl

viewer与 iview Carousel(走马灯) 结合使用,图片无法显示 - HelloWorld