cqwcns 发表于 2020-1-15 13:21

echarts,setOption方法局部替换

echarts(https://echarts.apache.org/zh/index.html),我的问题是想动态移除一个配置项(即用户界面有按钮,通过添加和移除配置项来决定是否启用一项功能,注意,是动态删增),例如移除dataZoom。
我尝试用myChart.setOption({dataZoom:[]}),但这样是没有用的,setOption是合并数据,即已有数据就更新,没有数据的就添加。
或者myChart.setOption({dataZoom:[]},true),加true参数是替换而非合并,这样能成功将dataZoom设置为一个空数组,理论上目的是达到了,但有个副作用就是会把其他参数全部清空了,例如series。所以这样还是不行。不知道有没有方法是只替换指定的配置项而不是替换全部。


琢磨了几天都没有解决,请指教各位吾友。感谢


option = {
    xAxis: {
      type: 'category',
      data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
      type: 'value'
    },
    series: [{
      data: ,
      type: 'line'
    }],
    dataZoom:[{ type: 'slider',xAxisIndex: ,start: 50,end: 100}]
};

mosou 发表于 2020-1-15 13:24

本帖最后由 mosou 于 2020-1-15 13:27 编辑

把变量option:{
...
datazoom
} 中的datazoom 移除掉才行 并不是置空。
移除后记得重新setoption(option)

cqwcns 发表于 2020-1-15 13:30

mosou 发表于 2020-1-15 13:24
把变量option:{
...
datazoom


是重新整体setoption吗?有没有办法不重画,而直接移除datazoom项。

cqwcns 发表于 2020-1-15 13:32

或者说,根据我的这个需求,怎么做是比较好的做法。

qianeymax6274 发表于 2020-1-15 13:53

谢谢啊,亲
页: [1]
查看完整版本: echarts,setOption方法局部替换