如何设置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>
相关推荐
我不吃饼干9 天前
鸽了六年的某大厂面试题:你会手写一个模板引擎吗?
前端·javascript·面试
涵信9 天前
第一节 布局与盒模型-Flex与Grid布局对比
前端·css
我不吃饼干9 天前
鸽了六年的某大厂面试题:手写 Vue 模板编译(解析篇)
前端·javascript·面试
前端fighter9 天前
为什么需要dependencies 与 devDependencies
前端·javascript·面试
满楼、9 天前
el-cascader 设置可以手动输入也可以下拉选择
javascript·vue.js·elementui
veminhe9 天前
HTML5 浏览器支持
前端·html·html5
前端fighter9 天前
Vuex 与 Pinia:全面解析现代 Vue 状态管理的进化之路
前端·vue.js·面试
嘉琪0019 天前
2025——js 面试题
开发语言·javascript·ecmascript
snow@li9 天前
vue3-ts-qrcode :安装及使用记录 / 配置项 / 效果展示
前端·javascript·vue.js
海天胜景9 天前
vue3 el-table 根据字段值 改变整行字体颜色
javascript·vue.js·elementui