echarts图表与tab页连用时图表不显示问题

小咪咪 2021-07-24 21:34 685阅读 0赞

有时候图表会放在多个标签页里,那些初始隐藏的标签在初始化图表的时候因为获取不到容器的实际高宽,可能会绘制失败,因此在切换到该标签页时需要手动调用 resize 方法获取正确的高宽并且刷新画布
在这里插入图片描述
看一张效果图
在这里插入图片描述
在这里插入图片描述
直接复制就饿可以用了

  1. layui.use('element', function () {
  2. var element = layui.element;
  3. element.on('tab(twoTabs)', function (elem) {
  4. //切换tab页,获取正确的宽高并刷新画布
  5. peopleChart.resize();
  6. moneyChart.resize();
  7. });
  8. });

点击 按钮表格 tab标签再次切换, 再点击 按钮图表 echars宽度为0的解决办法 (上下的代码块都要哦,一起使用)

在这里插入图片描述

  1. let w = $('.box').width(); //box为echars父级的高度 people money area等都为包裹着echars div的id
  2. $('#people').css('width', w); // 获取父容器的宽度直接赋值给图表以达到宽度100%的效果
  3. $('#money').css('width', w); // 获取父容器的宽度直接赋值给图表以达到宽度100%的效果
  4. $('#area').css('width', w); // 获取父容器的宽度直接赋值给图表以达到宽度100%的效果
  5. $('#level').css('width', w); // 获取父容器的宽度直接赋值给图表以达到宽度100%的效果
  6. people = echarts.init(document.getElementById('people'), 'white', { renderer: 'canvas' });
  7. money = echarts.init(document.getElementById('money'), 'white', { renderer: 'canvas' });
  8. area = echarts.init(document.getElementById('area'), 'white', { renderer: 'canvas' });
  9. level = echarts.init(document.getElementById('level'), 'white', { renderer: 'canvas' });

发表评论

表情:
评论列表 (有 0 条评论,685人围观)

还没有评论,来说两句吧...

相关阅读

    相关 echarts图表演示图表演示

    eCharts图表演示 比如说,公司现在接一个项目,这个中信银行,针对之前所有的贷款、大 小客户,要做出来图表系统(演示和查看)、报表系统(用来打印)。 郑州的大数据产