echarts,tooltip悬浮框无法显示

在配置option没有问题的情况下,悬浮框就是不出来。怎么办?

以下是我踩的坑。

 问题再现

由于我echarts折线图数据来源于祖先组件,属于异步加载数据,使用EventBus事件总线进行值传递,这就涉及到图表渲染不止一次。

在折线图组件中

这里如果在图表渲染函数中对图表对象初始化init,就会导致图表对象初始化两遍

onMounted(() => {
  EventBus.on('事件总线名字xxx', (res: any) => {
    chartData = handelbridgeData(res);  // 图表数据处理
    bridgeChartRender();   // 图表渲染函数
  });
  bridgeChartRender();
});

为了解决以上问题就把它提了出去 

const myChart = ref()
onMounted(() => {
  EventBus.on('lq_bridge', (res: any) => {
    chartData = handelbridgeData(res);
    bridgeChartRender();
  });
  myChart.value = echarts.init(echartBox.value);
  bridgeChartRender();
});

这里把对象设置成了响应式的,页面看不出啥问题,当进行悬浮框配置时,就出现了问题(也许其他配置也会有问题),悬浮框不展示。后经排查,将其设置为普通变量。

let myChart;
onMounted(() => {
  EventBus.on('lq_bridge', (res: any) => {
    chartData = handelbridgeData(res);
    bridgeChartRender();
  });
  myChart = echarts.init(echartBox.value);
  bridgeChartRender();
});

这样就好了。但是可以使用ref获取Dom节点,挂载到echarts图表。

其实出现问题的主要原因就是对echarts的渲染原理理解不到位,只会参照官网的示例使用,导致出现一系列问题,希望可以帮助大家少踩坑。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ECharts 是一个用于数据可视化的 JavaScript 库,它可以用来绘制各种图表,包括柱状图、折线图、饼图等。要在 ECharts 中设置悬浮,可以在配置项中使用 "tooltip" 选项。 ``` var option = { tooltip: { trigger: 'item', formatter: '{a} <br/>{b} : {c} ({d}%)' }, // ... }; ``` `trigger` 属性用来指定悬浮的触发方式,比如 "item" 表示鼠标悬浮在图形上时触发。 `formatter` 属性用来设置悬浮显示的内容,它接受一个字符串,可以使用占位符 {a}、{b}、{c} 等来表示相应的数据。比如上面的例子中,会在悬浮显示 {a} <br/>{b} : {c} ({d}%) 这样的内容。 更多的信息可以查看官网的API文档 https://echarts.apache.org/zh/option.html#tooltip ### 回答2: 在 echarts 中设置悬浮的方法很简单。悬浮,也叫tooltip,是用来展示鼠标悬停在图表上时的详细数据信息的工具。 首先,要在 echarts 中开启悬浮,可以在配置中设置tooltip属性为true。 例如,可以在option中添加以下代码: ``` option = { tooltip: { show: true }, // 其他配置项 } ``` 上面的代码中,show属性设置为 true,表示开启悬浮功能。 可以根据需要来自定义悬浮的样式,比如添加背景颜色、边样式等等。可以通过tooltip的formatter属性来自定义显示的内容和样式。 例如,可以在option中添加以下代码: ``` option = { tooltip: { show: true, formatter: '{b0}: {c0}' }, // 其他配置项 } ``` 上面的代码中,formatter属性表示使用自定义的格式来显示悬浮的内容。其中,{b0} 表示x轴上的名称,{c0} 表示y轴上的数值。 通过调整 formatter 属性的值,我们可以自定义悬浮显示的内容和样式。 总之,设置 echarts悬浮只需简单的几行代码,通过配置tooltip属性,开启悬浮功能,并可以通过 formatter 属性来自定义悬浮的内容和样式。 ### 回答3: ECharts是一款强大的数据可视化库,可以用于绘制各种类型的图表。在ECharts中,我们可以通过设置悬浮tooltip)来显示数据点的详细信息。 要设置悬浮,首先需要在ECharts配置项中声明tooltip属性。可以通过设置tooltip属性的formatter属性来自定义悬浮显示内容和样式。formatter属性接收一个回调函数,该函数接收参数params,params包含了触发悬浮的相关信息,如数据点的值、坐标等。 通过对params进行处理,我们可以在悬浮显示自定义的内容。例如,我们可以使用params.value来显示数据点的值,params.name来显示数据点的名称等。 另外,ECharts还提供了一些其他的配置选项,可以用于设置悬浮的位置、背景色、边等。通过设置tooltip的position属性和backgroundColor属性,我们可以调整悬浮显示位置和样式。 在ECharts中,可以通过设置全局的tooltip属性来统一设置所有图表的悬浮样式,也可以在单个图表的配置项中设置tooltip属性来单独设置该图表的悬浮样式。 总之,通过设置EChartstooltip属性,我们可以方便地自定义图表的悬浮样式,并在悬浮显示详细的数据信息,提高图表的可读性和交互性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值