Vue3使用Echarts导致tooltip失效
原因:Vue3 使用 proxy 对象代理,而 echarts 则使用了大量的全等(===), 对比失败从而导致了bug。解决方法:将ref或reactive对象换成普通变量来保存 echarts 实例。版本 vue3.2.47 echarts5.4.1。实例,导致 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 }] });
}
更多推荐
已为社区贡献1条内容
所有评论(0)