ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Vue中使用echarts常见问题

2022-04-11 16:31:41  阅读:157  来源: 互联网

标签:常见问题 chartsDom show 宽高 监听 Vue echarts resize


echarts控制台报错和100px宽度问题

起因echarts的父元素没有宽高或者设置了v-show;

解决思路

  • 父元素没有宽高或者
    需要在mounted钩子中开始绘制(这个时候Dom已渲染);
    或者使用this.nextTick(()=>{console.log('需要做的操作')});
  • v-show问题
    // v-show改用v-if, 在watch监听数据变化加入nextTick();
    watch: {
      pieData: {
        deep: true,
        handler(val) {
          if (val) {
            this.$nextTick(function() {
              this.getData();
            });
          }
        },
      },
    },
    

数据为空时图表不清空和屏幕大小发生变化不重绘

解决思路

  • 数据为空之后需要清空数据使用echartDom.clear();
    if (dataY.length) {
      this.chartsDom.setOption(option);
    } else {
      this.chartsDom.clear();
    }
    
  • mounted中添加浏览器宽高变化resize事件监听
    mounted() {
      // 不建议使用普通事件 因为普通事件有且只能生效一个 所以会被改写覆盖 请使用事件监听
      // window.onresize = () => this.chartsDom ? this.chartsDom.resize() : '';
      // 使用事件监听
      window.addEventListener('resize', () =>
        this.chartsDom ? this.chartsDom.resize() : ''
      );
    }
    

标签:常见问题,chartsDom,show,宽高,监听,Vue,echarts,resize
来源: https://www.cnblogs.com/lutwelve/p/16130544.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有