-
Notifications
You must be signed in to change notification settings - Fork 19.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
setOption时,如何重新设置(或清除)所有Series #3976
Comments
请问最后是怎样解决的? |
@fzc32 ECharts目前似乎没有好的方案,所以我只能用getOption把已有的option取出来,然后改动需要改动的,然后以notMerge为true的形式set回去。 |
谢谢你的及时回答,myChart.setOption(chartOption,true); 第二个参数设置为true解决了此问题。每次切换需要全部重新渲染性能不好。 |
@fzc32 是的,我研究了一下ECharts的实现,看到改为Object.assign的形式不是那么容易,所以临时采取了这个办法。 |
我最近几天也在研究这个问题,我遇到问题的是散点图。散点图setOption的notMerge选项没有用, 所以我在图表存在的情况下, 用getOption取到已经存在的option, 然后用chartInstance.clear(),清空option,最后setOption(option, false, false)。 |
我这边是画K线图遇到同样的问题,需要删除一些已经存在的线,我的方法如下,希望帮到有同样问题的人 |
同样用了chart.clear()解决了。 |
我也是用chart.clear() 解决了我的问题。 |
意思是通过name/id去匹配渲染的是局部渲染吗? |
用chart.clear之后,之前设置的颜色不知道为啥就没有了。但是这里第二个参数设置为true,完美解决了我的问题 |
myChart.setOption(chartOption,true); 这个可以用的 |
使用myChart.clear();然后myChart.setOption()这样对于性能有没有友好一点,或者对于myChart.setOption(chartOption,true);这样的方式提升并没有多少,有没有给出实际的一个数据? |
非常感谢 |
问题简述 (One-line summary)
由于setOption是merge,无法清空现有series
版本及环境 (Version & Environment)
重现步骤 (Steps to reproduce)
期望结果 (Expected behaviour)
第二次setOption后,屏幕上只剩一根线了
实际结果
第二次setOption后,屏幕上还有三根线
可能哪里有问题 (What went wrong)
setOption是merge,而非赋值
所以第二次setOption后,实际只更新了series[0],而series[1]和series[2]没有清空
其他信息 (Other comments)
查到
setOption
支持notMerge
为true的方案但是需要全量更新option,同时先getOption再notMerge也不是很好的方案(会覆盖默认值)
The text was updated successfully, but these errors were encountered: