简单粗暴,先上图,大概长这样:
在使用vue时有遇到像上图下拉框change事件切换div,change切完后大概会变成这个样子:
上代码:
<div class="test"> <p class="title"> <select v-model="selected" v-on:change="change"> <option v-for="option in options" v-bind:value="option.value"> {{ option.text }} </option> </select> </p> <span>{{selected}}</span> <div id="timesharechart" v-show="isvisible" ></div> <div id="receiveDispose" v-show="!isvisible"></div> </div> <script> export default{ name:"test", data(){ return { selected: 'timeshare', options: [ { text: '分时警情', value: 'timeshare' }, { text: '接警与处置', value: 'receive' } ], isvisible:true } }, methods:{ change:function(){ if(this.selected == "receive"){ this.isvisible = false; }else{ this.isvisible = true; } }, </script>
这里时我们为了确定当前显示的是哪个block,所以在data中引入了“selected”,方便其他操作,其实完全可以采用change事件和v-if指令来判断 true和false的方法来切换block。
code:
change:function(){ if(this.isvisible == true){ this.isvisible = false; }else{ this.isvisible = true; } }
这样就变成了true, false。
那么问题来了:
以上解决了change事件对div图表容器的切换显示内容,但是问题是切换后不显示图表,控制台报错:“Can't get dom width or height”,检查了遍div容器是设置了大小的,上网一查才知道是因为echarts只能在显示的容器中渲染,解决办法:在容器切换之后再渲染图表,也就是在触发切换的事件中操作echarts初始化,我是这么解决的,在调用echart.init之前,给图形dom加上对应的宽度和高度。
drawCharts(){ // 基于准备好的dom,初始化echarts实例,dom容器中需要在调用echart.init之前,必须给图形dom加上对应的宽度和高度,不然echarts不能渲染 document.getElementById("container").style.display = "block"; let myChart = this.$echarts.init(document.getElementById('container')); // 绘制图表 receiveChart.setOption({}); }
其他tab,button等切换方式如出一辙。
补充知识:echarts切换后页面空白
我遇到的问题是切换后页面空白,切换第二次页面出现了echarts图。为了解决这个问题,我再页面初始化时就调用了隐藏的echarts方法,虽然解决了第一次切换没图的问题,但同时出现了第二个问题,echarts图的大小需要在改变浏览器后才跟设置大小一致。
后面通过百度说宽高必须限制死,所以我把宽度从百分比设置为600px,暂时解决这个问题。
以上这篇基于Echarts图表在div动态切换时不显示的解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“基于Echarts图表在div动态切换时不显示的解决方式”评论...
更新动态
2024年04月29日
2024年04月29日
- 陈芯怡.2023-漫行日志【鼎乐】【FLAC分轨】
- 韩宝仪《舞女泪》24K黄金母盘直刻 正版CD低速原抓[WAV+CUE][463M]
- 群星《2024上海国际高端音影展纪念版CD》[WAV分轨][415M]
- 邓丽君《闽南语金曲集》[DSF][1G]
- dnf第10季战令奖励一览
- dnf结婚戒指怎么升级
- dnf继承怎么保留附魔
- 《重装岚影》成就列表一览
- 《百英雄传》:像素群像剧与英雄们的赞美诗
- 《下一站江湖Ⅱ》评测:一块仍需打磨的璞石
- 龙飘飘-人财两旺富贵全-2023-WAV分轨
- 迪克牛仔-国语真经典台湾首版-2005-WAV+CUE
- FrancescaTandoi,MatheusNicolaiewskySanderSmeets-BopWeb(2024Jazz)[Flac24-96]
- 《剑星》遭和谐影响深远:玩家担心《GTA6》被审查
- 世界最贵在售房产 法国达玛雅克城堡出售:33亿人民币