最近用echarts做数据展示时,出现了地图上的点,鼠标hover上去的时候,不是显示我动态设置的样式,而是第一次只显示点的纬度,像这样:
并且它只是第一次hover的时候这样,第二次的时候,就显示我动态设置的样式了
研究了半天才发现,原因是这样的:
在echarts 初始化(init)地图的时候,它会根据你的配置,去画canvas,tooltip(别的图表我没测)如果没有设置的话,就会默认显示点的纬度。
所以第一次hover出现的就是init时画好的tooltip。
第二次hover的时候,因为我是动态设置的tooltip,所以其实在第一次的时候,就重写了样式,所以在第二次hover时,显示的就是我设置的样式
这个问题没办法更改(因为我的需求就是要动态设置tooltip),只能优化,我给的优化方案有以下几种:
1、init的时候配置一个和后面一样的样式,但是动态获取的字段值都默认是0
2、将init的tooltip 样式设置成透明,这样第一次hover的时候显示的就是透明的,从第二次开始,才是正常的
3、还是将init时的tooltip设置成透明的,但是第一次的hover可以用dispatchAction去触发,这样用户就不用去触发第一次,用户体验也比较好