1.窗口缩小放大的时候,图表的大小自适应

宽非固定的
使用resize

windouw.addEventListener("resize",()=>{myEchart.resize()
})

2.侧边栏收缩的时候,图表的大小自适应

侧边栏收缩的时候

侧边栏展开的时候,内容显示不全

2.1 监听侧边栏的收缩

 watch: {"$store.state.collapse"(val) {console.log(val)setTimeout(() => {// myChart.resize() //echarts得重绘方法this.myChart1.resize()}, 300);},},

2.1.1 这里为什么加了个定时器,时间为什么是300s

因为elementUI的侧边栏收缩展开的延时时间是300


具体看官方文档

elementUI-navMenu侧边栏

3.实际使用

<template><div style="padding:20px;"><el-card><el-tabs type="border-card" v-model="tabName" @tab-click="handleClick"><el-tab-pane label="用户管理" name="用户管理"><div class="echart-top"><div id="echart1" style="width:100%;height:100%;"></div><div id="echart2" style="width:100%;height:100%;"></div></div></el-tab-pane><el-tab-pane label="配置管理" name="配置管理"><div class="echart-top"><div id="echart3" style="width:100%;height:100%;"></div><div id="echart4" style="width:100%;height:100%;"></div></div></el-tab-pane></el-tabs></el-card></div>
</template><script>
export default {name: "",data() {return {tabName: "配置管理",myChart1: "",myChart2: "",myChart3: "",myChart4: "",};},mounted() {this.init();},watch: {"$store.state.collapse"(val) {console.log(val)setTimeout(() => {//echarts得重绘方法this.myChart1.resize()this.myChart2.resize()this.myChart3.resize()this.myChart4.resize()}, 300);},},methods: {init() {this.getEchart1();this.getEchart2();this.getEchart3();this.getEchart4();},handleClick(value) {console.log("value", value);if (value.name === "用户管理") {this.getEchart1();this.getEchart2();} else {this.getEchart3();}},getEchart1() {this.$nextTick(() => {this.$echarts.init(document.getElementById("echart1")).dispose();this.myChart1 = this.$echarts.init(document.getElementById("echart1"));let option = {legend: {top: "bottom",},toolbox: {show: true,feature: {mark: { show: true },dataView: { show: true, readOnly: false },restore: { show: true },saveAsImage: { show: true },},},series: [{name: "面积模式",type: "pie",radius: [50, 250],center: ["50%", "50%"],roseType: "area",itemStyle: {borderRadius: 8,},data: [{ value: 40, name: "rose 1" },{ value: 38, name: "rose 2" },{ value: 32, name: "rose 3" },{ value: 30, name: "rose 4" },{ value: 28, name: "rose 5" },{ value: 26, name: "rose 6" },{ value: 22, name: "rose 7" },{ value: 18, name: "rose 8" },],},],};this.myChart1.setOption(option);window.addEventListener("resize", () => {this.myChart1.resize();});});},getEchart2() {this.$nextTick(() => {this.$echarts.init(document.getElementById("echart2")).dispose();this.myChart2 = this.$echarts.init(document.getElementById("echart2"));let option = {xAxis: {type: "category",data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],},yAxis: {type: "value",},series: [{data: [120, 200, 150, 80, 70, 110, 130],type: "bar",showBackground: true,backgroundStyle: {color: "rgba(180, 180, 180, 0.2)",},},],};this.myChart2.setOption(option);window.addEventListener("resize", () => {this.myChart2.resize();});});},getEchart3() {this.$nextTick(() => {this.$echarts.init(document.getElementById("echart3")).dispose();this.myChart3 = this.$echarts.init(document.getElementById("echart3"));let option = {xAxis: {type: "category",boundaryGap: false,data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],},yAxis: {type: "value",},series: [{data: [820, 932, 901, 934, 1290, 1330, 1320],type: "line",areaStyle: {},},],};this.myChart3.setOption(option);window.addEventListener("resize", () => {this.myChart3.resize();});});},getEchart4() {this.$nextTick(() => {this.$echarts.init(document.getElementById("echart4")).dispose();this.myChart4 = this.$echarts.init(document.getElementById("echart4"));let option = {xAxis: {},yAxis: {},series: [{data: [[10, 40],[50, 100],[40, 20],],type: "line",},],};this.myChart4.setOption(option);window.addEventListener("resize", () => {this.myChart4.resize();});});},},
};
</script><style scoped>
.echart-top {display: flex;justify-content: space-between;width: 100%;height: 500px;
}
</style>

2.窗口大小改变和侧边栏收缩的时候,echarts图表的自适应相关推荐

  1. Echarts图表大小自适应浏览器窗口大小

    1.mixins文件:resize.js // 当调整浏览器窗口大小时,发生 resize 事件:监听resize,实现Echarts图表大小自适应浏览器窗口大小 export default {da ...

  2. 【Java】监听jframe窗口大小改变函数:addComponentListener

    问题描述:主要用于解决Jframe窗口大小变化时,里面的组件的位置也会自适应的移动. 相当于js里面的窗口大小改变监听函数: window.onresize = function(){//js脚本接口 ...

  3. jquery监听窗口大小改变事件jquery.resizeend

    方法一: $(function(){// Bind the resize event. When any test element's size changes, update its// corre ...

  4. vue使用Echart跟随窗口大小改变而重新绘制时出现读取窗口大小不及时的问题

    通过原生自带的window.onresize监听窗口大小 + Echart自带的冲渲染函数.resize() 刚开始我改变大小时 感觉挺好 但是我一点窗口最大化就开始出现问题 他没有时时根据窗口大小改 ...

  5. 窗口大小改变时,显示内容的处理(正投影情况)

    当窗口大小改变时,对窗口显示内容不同的要求,我们要做的工作也不同. 1.显示内容不变,相对位置不变(例如始终居中) 视口大小不变,裁剪区域不变,视口的初始位置根据窗口大小进行调整. 2.显示内容长宽比 ...

  6. 当浏览器窗口大小改变时,设置显示内容的高度

    1 window.οnlοad=function(){ 2 changeDivHeight(); 3 } 4 //当浏览器窗口大小改变时,设置显示内容的高度 5 window.οnresize=fun ...

  7. MFC如何让背景图随窗口大小改变

    ==> 学习汇总(持续更新) ==> 从零搭建后端基础设施系列(一)-- 背景介绍 刚开始做的时候,我理所当然的想,直接在OnPaint函数中改变图片的大小,但是发现,这样会导致图片出现如 ...

  8. layui隐藏侧边栏_layui实现侧边栏收缩的方法

    layui实现侧边栏收缩的方法:首先打开原生的左侧导航栏代码并进行修改:然后打开JavaScript代码文件:最后实现侧边栏收缩效果即可. 本教程操作环境:Windows7系统.layui2.4版,该 ...

  9. echart vue 图表大小_vue中echarts图表大小适应窗口大小且不需要刷新案例

    我就废话不多说了,大家还是直接看代码吧~ 内容如下: // 基于准备好的dom,初始化echarts实例 let myChart = this.$echarts.init(document.getEl ...

最新文章

  1. Spring消息之WebSocket
  2. shell统计ip访问情况并分析访问日志
  3. python中哪个函数能生成集合_神奇的python系列11:函数之生成器,列表推导式
  4. 元学习Meta-Learning
  5. 列表和字典之间的相互转换-Python3
  6. 那些年伴我一起成长的SAP装备
  7. 华为鸿蒙os系统转正,华为鸿蒙OS系统正式官宣,转正工作提上日程,明年多款终端将使用...
  8. c# npoi 公式不计算_玉米扣量因素:水分、杂质、不完善粒、生霉粒,检测方法及计算公式...
  9. 4.19计算机网络笔记
  10. 域名系统(DNS)概述
  11. 语言程序设计第4版黄洪艺_庞皓计量经济学第4版题库
  12. 读书-算法《程序设计导引及在线实践》-简单计算题1:鸡兔同笼
  13. 基于matlab的排队系统仿真
  14. 荣耀绽放 | 白玉兰酒店荣膺金光奖“中国发展潜力酒店品牌”奖项
  15. html组态插件_组态 web组态 插件 编辑器 使用说明书
  16. 用python编阶层
  17. 自主可控国产服务器思考
  18. tcpdump抓包使用小结
  19. 获取手机设备型号、系统版本、手机型号等信息
  20. 音乐探索3:关于放克

热门文章

  1. 户界面样式-表单轮廓和防止拖拽文本域(HTML、CSS)
  2. 引入方式之外部样式表(CSS、HTML)
  3. mysql之解决“mysql server has gone away“的问题
  4. PCL之计算点云质心---pcl::compute3DCentroid()
  5. 目标检测java系统_5分钟!用Java实现目标检测
  6. qt绘制运动物体_手写QT贪吃蛇,小白高薪捷径-Qt开发
  7. 【CF311E】biologist
  8. 大数据-实验2 熟悉常用的HDFS操作
  9. 【李宏毅2020 ML/DL】P67-72 Anomaly Detection
  10. 《强化学习》中的第10章:基于函数逼近的同轨策略控制