如何设置echart图表在vue页面屏幕比例缩放自适应问题

问题:页面的echart图表在浏览器缩放屏幕比例时无法随着屏幕的比例自动改变大小

解决方式:

可以通过监听窗口的 resize 事件,并在事件回调函数中重新调整图表的大小。

javascript 复制代码
<template>
  <div ref="chartContainer" style="width: 100%; height: 400px;"></div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'MyComponent',
  data() {
    return {
      chart: null,
    };
  },
  mounted() {
    //初始化图表
    this.initChart();
    //监听窗口的 resize 事件,并在事件回调函数中重新调整图表的大小。
    window.addEventListener('resize', this.resizeChart);
  },
  beforeDestroy() {
    //销毁
    window.removeEventListener('resize', this.resizeChart);
  },
  methods: {
    initChart() {
      this.chart = echarts.init(this.$refs.chartContainer);
      // 设置图表配置项和数据...
    },
    resizeChart() {
        //判断图例是否存在
      if (this.chart) {
        //图例存在调用图表的重置
        this.chart.resize();
      }
    },
  },
};
</script>
相关推荐
海威的技术博客2 分钟前
JS中的原型与原型链
开发语言·javascript·原型模式
雪落满地香9 分钟前
前端:改变鼠标点击物体的颜色
前端
余生H41 分钟前
前端Python应用指南(二)深入Flask:理解Flask的应用结构与模块化设计
前端·后端·python·flask·全栈
outstanding木槿1 小时前
JS中for循环里的ajax请求不数据
前端·javascript·react.js·ajax
酥饼~1 小时前
html固定头和第一列简单例子
前端·javascript·html
一只不会编程的猫1 小时前
高德地图自定义折线矢量图形
前端·vue.js·vue
所以经济危机就是没有新技术拉动增长了1 小时前
二、javascript的进阶知识
开发语言·javascript·ecmascript
m0_748250931 小时前
html 通用错误页面
前端·html
来吧~1 小时前
vue3使用video-player实现视频播放(可拖动视频窗口、调整大小)
前端·vue.js·音视频
Bubluu1 小时前
浏览器点击视频裁剪当前帧,然后粘贴到页面
开发语言·javascript·音视频