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

 更新时间:2022年10月22日 10:37:58   作者:未来可期xm  
这篇文章主要介绍了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>

效果如下:

 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 关于Vue.js一些问题和思考学习笔记(1)

    关于Vue.js一些问题和思考学习笔记(1)

    这篇文章主要为大家分享了关于Vue.js一些问题和思考的学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Vue下拉框双向联动效果的示例代码

    Vue下拉框双向联动效果的示例代码

    这篇文章主要介绍了Vue下拉框双向联动效果,实现联动,大家都知道在vue的页面中,想要实现多个<el-select 下拉框的值动态改变,必须要调用@change 函数,具体操作方法跟随小编一起学习下吧
    2022-04-04
  • vue修改数据视图更新原理学习

    vue修改数据视图更新原理学习

    这篇文章主要为大家介绍了vue修改数据视图更新原理学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • vue.js 实现评价五角星组件的实例代码

    vue.js 实现评价五角星组件的实例代码

    这篇文章主要介绍了vue.js 实现评价五角星组件的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)

    Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)

    这篇文章主要介绍了Vue实现 点击显示 再点击隐藏 点击页面空白区域也隐藏效果,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Vue.js条件渲染和列表渲染以及Vue中key值的内部原理

    Vue.js条件渲染和列表渲染以及Vue中key值的内部原理

    这篇文章主要介绍了Vue.js条件渲染和列表渲染,以及Vue中key值的内部原理,文中有详细的代码示例,感兴趣的同学可以参考阅读
    2023-04-04
  • Vue3中Vuex的详细使用方法

    Vue3中Vuex的详细使用方法

    在vue3.x中vuex调取值在html代码里可以直接使用vue2.x的方法,但是在js里与vue2.x就有了那么一丢丢的不同,下面这篇文章主要给大家介绍了关于Vue3中Vuex详细使用的相关资料,需要的朋友可以参考下
    2022-07-07
  • Vue实现拖拽穿梭框功能四种方式实例详解

    Vue实现拖拽穿梭框功能四种方式实例详解

    这篇文章主要介绍了Vue实现拖拽穿梭框功能四种方式,使用原生js实现拖拽,VUe使用js实现拖拽穿梭框,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • 浅谈Vue的加载顺序探讨

    浅谈Vue的加载顺序探讨

    本篇文章主要介绍了Vue的加载顺序探讨,详细的介绍了加载顺序以及如何判断所有的子组件加载完成。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 解决vue keep-alive 数据更新的问题

    解决vue keep-alive 数据更新的问题

    今天小编就为大家分享一篇解决vue keep-alive 数据更新的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09

最新评论