vue使用Echart跟随窗口大小改变而重新绘制时出现读取窗口大小不及时的问题
通过原生自带的window.onresize
监听窗口大小 + Echart自带的冲渲染函数.resize()
刚开始我改变大小时 感觉挺好 但是我一点窗口最大化就开始出现问题 他没有时时根据窗口大小改变而是跟进上一次的大小改变的
我找了好久才想到是不是执行循序的问题 就加了个 定时器setTimeout
发现加上后就正常了 确实可以
<div><div ref="FileNumEchartMain" :style="{width: this.EchartWidth + 'px', height: this.Echartheight + 'px'}"></div>
</div>
没加之前
// onresize 我是写在mounted中 应该也可以写在created中window.onresize = async () => {this.EchartWidth = document.body.clientWidththis.Echartheight = this.EchartWidth / 2this.FileNumChart.resize()console.log('onresize', nowScreenWidth,this.EchartWidth,this.Echartheight)}
加了之后
window.onresize = async () => {this.EchartWidth = document.body.clientWidththis.Echartheight = this.EchartWidth / 2setTimeout(() => {this.FileNumChart.resize()}, 100);console.log('onresize', nowScreenWidth,this.EchartWidth,this.Echartheight)}
我在vue中的初始化函数 上面的 this.FileNumChart
就在这生成的
initFileNumEchart(type){this.FileNumChart = echarts.init(this.$refs.FileNumEchartMain);let option;option = {tooltip: {// 触发类型,默认数据触发trigger: 'item',// 触发位置position: 'top',// 文本设置textStyle: {// width: 10,// height: 20,fontSize: 8}},// 标题title: {text: '文件数量统计',// 标题位置 内边距padding: [10, 10]},// 数据图形颜色color: '#25C1C3',xAxis: {type: 'category',// x轴文字 旋转角度// axisLabel: {// rotate: 45,// },data: ['文档', '图片', '视频', '音频', '其他']},yAxis: {type: 'value'},series: [{barWidth:'40%',data: [120, 200, 150, 80, 70, 110],type: 'bar',markLine: {label: {color: "rgba(0, 255, 229, 1)"},lineStyle: {color: "rgba(0, 255, 229, 1)"},data: [{name: '平均线',type: "average",}]}}]};this.FileNumChart.setOption(option);this.FileNumChart.on('click',(param) => {console.log('FileNumChart click',param)});console.log('initEchart')},
vue使用Echart跟随窗口大小改变而重新绘制时出现读取窗口大小不及时的问题相关推荐
- html input 的value变颜色,vue里input根据value改变背景色的实例
这篇文章主要为大家详细介绍了vue里input根据value改变背景色的实例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 1.首先定义两个不同 ...
- 窗口大小改变时,显示内容的处理(正投影情况)
当窗口大小改变时,对窗口显示内容不同的要求,我们要做的工作也不同. 1.显示内容不变,相对位置不变(例如始终居中) 视口大小不变,裁剪区域不变,视口的初始位置根据窗口大小进行调整. 2.显示内容长宽比 ...
- vue使用echart绘制全国地图,叠加图表
场景: 大数据展示全国各省份信息,绘制地图,并在每个省份上叠加图表. 需要做的就是 1.绘制全国地图(不同省份根据数据的不同而颜色不同) 2.每个省份都需要单独叠加一个图表(饼图) 3.地图缩放.图表 ...
- vue使用echart 完成3d系列2之曲面锥形
vue使用echart 完成3d系列1之曲面空心圆 vue使用echart 完成3d系列3之曲面空心半圆 效果图 第一步,先安装依赖 npm install echarts-gl -S npm ins ...
- 【Java】监听jframe窗口大小改变函数:addComponentListener
问题描述:主要用于解决Jframe窗口大小变化时,里面的组件的位置也会自适应的移动. 相当于js里面的窗口大小改变监听函数: window.onresize = function(){//js脚本接口 ...
- uniapp、vue,vuex中state改变,getters不动态改变的完美解决方案!
uniapp.vue,vuex中state改变,getters不动态改变的完美解决方案! 参考文章: (1)uniapp.vue,vuex中state改变,getters不动态改变的完美解决方案! ( ...
- jquery监听窗口大小改变事件jquery.resizeend
方法一: $(function(){// Bind the resize event. When any test element's size changes, update its// corre ...
- 当浏览器窗口大小改变时,设置显示内容的高度
1 window.οnlοad=function(){ 2 changeDivHeight(); 3 } 4 //当浏览器窗口大小改变时,设置显示内容的高度 5 window.οnresize=fun ...
- vue制作echart图表随着画面等比例放大缩小
因为本身echart做的图表不会随着div的大小比例进行变化,因此下面介绍两种控制echart大小变化的方法. 第一种:根据屏幕分辨率变化切换echart图表的大小变化 在mounted中添加监听事件 ...
最新文章
- ios13文件连接服务器教程,iOS 13/iPad OS迈向生产力的一大步,SMB文件共享视频图文教程...
- 多重循环 ——— 打印九九乘法表 || 经典的打印金字塔(打印整个金字塔 打印空心金字塔 打印空心菱形金字塔)
- Socket系列3 Socket服务端开发 数据的接收和发送
- 08函数的参数 进阶
- LeetCode 题 - 28. 实现strStr() python实现
- Oracle中dmp/dmpdp导出,imp/impdp导入
- .xsession-errors:openConnection: connect: No such file or directory cannot connect to brltty at :0
- smart3d加载到谷歌_Android Google Smart Lock
- 一篇文章让你详细了解新手第一次如何使用物联网卡,满满的干货!
- 4k纸是几厘米乘几厘米_4k纸有多大?长宽各几厘米?
- Excel常用函数(案例说明)
- NeurIPS 2019 | DetNAS:首个搜索物体检测Backbone的方法
- Nginx是什么,为什么使用Nginx
- vultr 安装docker
- 一种获取NLP语料的基本方法
- 通过TMG发布ActiveSync
- 【TJOI2017】可乐
- 如何设置tab缩进为4个字符
- 实战!我用 Wireshark 让你「看得见」 TCP
- 计算机专业用苹果哪款笔记本,2019笔记本电脑排行榜 苹果笔记本电脑哪款好
热门文章
- tmp ubuntu 自动删除吗_tmp 目录文件被自动清理问题的调查
- mysql 窗口函数_MySQL数分:窗口函数
- python安装opencv2.4.9_Python学习之一:Python2.7与opencv2.4安装配置
- linux ioctl 设备只读,linux – 尝试SSH时设备的ioctl不合适
- pandas 空字符串与na区别_关于python:Pandas用空白/空字符串替换NaN
- 渗透测试入门1之信息收集
- php递归简单例子,php递归json类实例
- Fiddler如何查找登陆的可用cookie用于其他请求?方式一
- MySQL8.0——Resource Group(资源组)
- C#操作 excel表格