欢迎来到Introzo百科
Introzo百科
vue中的echarts3.0自适应方法
前端做vue项目时,按需引入echart如下:
//引入ECharts主模块 从 'echarts/lib/echarts' 导入 echarts //引入折线图 导入 'echarts/lib/chart/line' //引入提示框和图例组件 导入 'echarts/lib/component/tooltip' import 'echarts/lib/component/legendScroll'
然后我发现当浏览器窗口放大时折线图不会适应,我花了一段时间才解决。记录下来给有需要的朋友,
第一种:浏览器自适应
作者:
在 myChart.setOption 之后添加
window.onresize = myChart.resize;
如果有多个图形,可以封装成方法:
安装(){ this.changEcharts(); }, 方法:{ 更改Echarts() { window.addEventListener('调整大小', ()=> { this.drawLineDom.resize(); this.todayFlowDom.resize(); this.hitRateDom.resize();});};},} this.drawLineDom = this.$echarts.init(document.getElementById('chart-bandwidth'));
第二种情况是根据div大小的变化进行适配
因为vue无法实时监控div大小变化,所以我定义了一个按钮,当按钮的值发生变化时,就调整大小;
导入{mapState}from'vuex'; 计算:mapState({isCollapse:'isCollapse',//这里我是vuex保存的一个实用变量,你不需要使用vuex,我这样做是因为组件之间的通信}), 手表: {isCollapse() { // 注意不要使用箭头函数,否则获取不到this 设置超时(()=> { this.drawLineDom.resize(); this.todayFlowDom.resize(); this.hitRateDom.resize(); }, 500);},},
其实我是在导航缩回的时候使用这个,导致div的大小发生变化,所以这样执行reszie就可以完美适配
相关文章
- 10-05 高通CEO爆料苹果自研5G芯片明年准备就绪
- 10-05 全球智能手机市场被扰乱:iPhone与Androi
- 10-05 苹果最新巧克力广告:Apple Card激活到付款
- 10-05 苹果推出iOS 15.6正式版固件:我们来看看iO
- 10-05 iPadOS 16 允许应用程序使用 M1 设备存
- 10-05 为迎接Apple Watch 10周年:Appl
- 10-05 STM32连接esp32(stm32连接esp32
- 10-05 stm32串口dma发送和接收周期数据和随机数据(
- 10-05 stm32点亮led灯ad20 (stm32点亮l
- 10-05 esp32编程接线图(esp32编程程序接线图)
- 10-05 DAC0832波形发生器课程设计报告(dac083
- 10-05 vs2010单行读取文本_VS2010-MFC获取
- 10-05 Web漏洞-SQL注入(二)
- 10-05 phpunit thinkphp模型单元测试
- 10-05 phpunit selenium 操作 html
- 10-05 【第201期】面试官:String的长度有限制吗?
- 10-05 【第256期】面试官经常测试的21条Linux命令
- 10-05 【第256期】面试官常测试的21条Linux命令
- 10-05 【第368期】为什么阿里巴巴禁止MyBatis使用
- 10-05 【第208期】我们来敲黑板,说说如何设计秒杀系统(
- 最近发表