我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue中Echarts图表宽度没占满的问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue中Echarts图表宽度没占满的问题

vue Echarts图表宽度没占满

显示效果:

在这里插入图片描述

经过测试,当把宽度写成固定px的时候,就能正确渲染。

解决方法

1、宽高写成固定px,针对宽度不需要自适应的大屏。

2、当宽度需要自适应,父元素需要设置宽高,可以使用$nextTick 当元素宽度发生改变,只需要等待DOM渲染完成在渲染图表,这样就不会出现问题了。

相似案例:

当点击按钮使用v-if进行图表切换,同样会使出现宽高不占满情况。

mounted() {
	this.$nextTick( () => {
	  this.drawBar();
	})
}

vue Echarts图表宽度自适应,亲测有效

实现宽度自适应语句

//实现自适应部分
 window.onresize = () => {
     // 基于准备好的dom,初始化echarts实例
    let myChart = this.$echarts.init(document.getElementById('newEcharts'));
    myChart.resize();
};

代码使用如下:

<template>
  <el-row>
     <el-col :xs="24" :sm="24" :md="24" :lg="24">
       <div id="newEcharts" style="width:100%;height:400px;padding-top:40px"></div>
     </el-col>
  </el-row>
</template>
<script>
   export default {
    data() {
      return {
        newVisible: false,
        newDialogFormVisible: false,
       
      };
    },
    mounted () {
      this.initEcharts()
      //实现自适应部分
      window.onresize = () => {
      // 基于准备好的dom,初始化echarts实例
        let myChart = this.$echarts.init(document.getElementById('newEcharts'));
        myChart.resize();
        };
    },
    methods: {
      // 创建方法
      initEcharts() {
        var echarts = require('echarts');
 
        // 基于准备好的dom,初始化echarts实例
        const myChart = this.$echarts.init(document.getElementById('newEcharts'));
        // 绘制图表
         const option = {
            title: {
                text: 'ECharts 入门示例'
            },
            tooltip: {},
            xAxis: {
                data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20]
            }]
        };
        myChart.setOption(option)
      },
    },
  }
</script>

效果如下:

 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue中Echarts图表宽度没占满的问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue中Echarts图表宽度没占满的问题

这篇文章主要介绍了vue中Echarts图表宽度没占满的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

编程热搜

目录