echarts忽隐忽现问题

今天同事在做回收项目,里面用到echarts描绘一个图表,图表上面有一个可伸缩的列表,如下图所示:


这种情况下,图表显示是正常的,但是当用户点击“估价详情”右侧按钮展开后,再伸缩时,它神奇地消失了~~~,再展开,出现,再伸缩,消失~~~下面是截图(因为问题已经解决,忘了用手机截图,就直接ps还原一下吧):


然后我开始找原因,首先,我要确认图表是被顶下去了,还是消失了,然后我给图标的父元素给了一个red背景色,发现,一直在,然后用js,$(ele).offset().top来查看图表元素canvas有没有一直在,结果发现,一直都在,那就是说,其实图表还在。


知道这个之后,我又把图表和估价详情换了个位置,发现,图表会一直都在,那就表明,图表会消失,是因为估价详情。


后来我不断地还原bug场景,发现,只有在估价详情的长度足够把图表往下顶到手机界面以外了,再把估价详情缩回去后,图表才会消失。

确定了是因为估价详情的影响,但是又不能更换位置,那就需要找原因了,首先百度了一下,echarts图表会消失的原因,没有找到相同的案例,但是找到了一个类似的,博主的解决方法如下:

官方文档如下:

ECharts没有绑定resize事件,显示区域大小发生改变内部并不知道,使用方可以根据自己的需求绑定关心的事件,主动调用resize达到自适应的效果,常见如window.onresize = myChart.resize。

"

当时看到这个,心想,我也许不知道原因,但是,我貌似看了解决办法的曙光啊,然后我就在点击股价详情按钮事件的地方,把这段代码放进去了,结果。。。木有用,但是,我内心的小九九告诉自己,看解释,这个应该是可以的呀,于是我去看了官方文档,找到api:


确认过眼神,我找到了对的人,不过,看api,只需要将上面博主的代码,更换成

mycharts.resize()

就可以了,然后运行。。binggo~~~~虽然问题解决了,但是原因其实我还是没找到,因为官方文档是说resize是因为图表的父容器大小更改了,导致图表找不到容器的实际高宽,然而。。我这个容器的高宽一直都没变。。。。当下,对我来说,这是个不解之谜~~





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用Echarts过程中,常见的问题和解决方法可以总结如下: 1. 如何创建一个自适应的Echarts图表?可以通过以下两种方法实现:一种是使用css样式aspect-ratio(宽高比),另一种是通过在父组件dom操作获取当前高度clientHeight,在子组件中初始化图表。 2. 如何调整Echarts图表的大小、位置和显示网格线?可以通过设置图表的width、height和grid属性来实现。 3. 柱状图根据x坐标数量动态判断柱条的宽度、防止重叠宽度问题。可以通过设置柱状图的barWidth属性来自适应x坐标的数量,并防止重叠。 4. 如何实现渐变色及更新数据后渐变消失问题?可以使用Echarts提供的线性渐变和径向渐变功能来设置渐变色,并在更新数据后重新设置渐变。 5. Echarts中data和dataset的含义以及数据返回格式。data表示图表的数据,而dataset表示图表的数据集。在Echarts中,数据可以以维度和映射的方式进行设置。 针对上述问题,建议的解决方法是: 1. 首先,参考官方文档的教程,了解Echarts的使用方法和各种属性的含义。 2. 在使用图表时,可以先查看官方示例中是否有类似的使用方法或解决方案。 3. 如果遇到问题无法解决,可以通过搜索博客或技术社区寻找相关的解决方案。 4. 如果博客中的解决方案不适用或无效,可以尝试向其他开发者寻求帮助或咨询Echarts官方论坛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值