vue中时常有些需求需要Echarts在页面中通过点击隐藏和显示,或者点击切换不同的图表,按平时的方式是显示不出效果的
原因在于Echarts需要绑定在标签上,在切换时需要操作DOM节点,但是在vue中DOM已经渲染完成,无法重新刷新DOM节点使图表显示出来

这时候只需要局部刷新DOM节点即可,需要用vue中的指令v-if和this.$nextTick
上代码:
template部分
// An highlighted block
<div class="leftcharts">
<div class="chartCotegory">
<span
@click="checkLine('1')"
:class="currentIndex == 1 ? 'active' : 'activeitem'"
>折线图</span
>
<span
@click="checkLine('2')"
:class="currentIndex == 2 ? 'active' : 'activeitem'"
>柱状图</span>
</div>
<div id="lineChart" v-if="currentIndex == 1 ? true : false"></div>
<div id="barChart" v-if="currentIndex == 2 ? true : false"></div>
</div>
methods部分

温馨提示:202行-296行都是官网复制直接用就可以啦!


本文介绍如何在Vue中利用v-if和$nextTick解决Echarts图表的动态显示与隐藏问题,通过实例演示如何通过点击切换不同类型的折线图和柱状图。

2827

被折叠的 条评论
为什么被折叠?



