Vue3使用Echarts导致tooltip失效问题及解决方法
作者:MichstaBe Stars
Vue3 使用 proxy 对象代理,而 echarts 则使用了大量的全等(===), 对比失败从而导致了bug,这篇文章主要介绍了Vue3使用Echarts导致tooltip失效问题及解决方法,需要的朋友可以参考下
版本 vue3.2.47 echarts5.4.1
使用响应式对象存储 echarts 实例,导致 tooltip 功能失效;
原因:Vue3 使用 proxy 对象代理,而 echarts 则使用了大量的全等(===), 对比失败从而导致了bug。
解决方法:将ref或reactive对象换成普通变量来保存 echarts 实例。
初始化图表
// 初始化柱状图 function initBarChart(data) { const myChart = echarts.init(unref(barRef)); const option: EChartsOption = { color: ['#3398DB'], tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, xAxis: [ { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], axisTick: { alignWithLabel: true } } ], yAxis: [{ type: 'value' }], series: [ { name: '直接访问', type: 'bar', data: [10, 52, 200, 334, 390, 330, 220] } ] }; myChart.setOption(option); }
更新图表数据
// 更新柱状图 function updateBarChart(data) { const getLineChartInstance = echarts.getInstanceByDom(unref(barRef)!); getLineChartInstance && getLineChartInstance.setOption({ series: [{ data }] }); }
到此这篇关于Vue3使用Echarts导致tooltip失效的文章就介绍到这了,更多相关Vue3使用Echarts tooltip失效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!