echartsAPI接口 echartsInstance 中的clear() 该方法作用是清空当前实例。但是使用该方法后调用 getOption 方法返回并不是空对象
例如:
var echartsLineOne = echarts.init(document.getElementById('echartsLineOne'));
echartsLineOne.clear();
console.log(echartsLineOne.getOption()); // 此处获取的对象不是空对象
修改接口
option = {
}
请调用 chart.dispose() 清空
dispose 不是注销实例么
而且调用该方法后,去调用实例会报错
你不是要注销实例?那“清空当前实例”是什么意思?
不是注销实例,是需要去清空当前的option值。官网不是有提供一个clear的接口么,但是这个接口和文档http://echarts.baidu.com/api.html#echartsInstance.clear
所描述的不一样,clear()函数使用后getOption()竟然不是返回空对象。
echartsProto.clear = function () {
this.setOption({
series: []
}, true);
};
clear只清除了series ,跟文档有出入
请问这个问题什么时候 解决呢
This issue is labeled with difficulty: easy.
@admin-style Would you like to debug it by yourself? This is a quicker way to get your problem fixed. Or you may wait for the community to fix.
Please have a look at How to debug ECharts if you'd like to give a try. 🤓
嗯,我看了下 issue 里提到 clear 方法实际上是调用了setOption({series:[]}),我以为改成setOption({}) 就可以解决,结果发现 setOption 方法好像也不符合期望
myChart.setOption({}, true)
console.log(myChart.getOption()) // 打印出来的 option 并不为空
我的理解是,myChart.setOption({}, true) 会和默认的配置项合并,所以 myChart.getOption() 是不会返回空的。我认为应该是 clear() 方法里 myChart.setOption({}, true) 之后,记录一下清空状态,然后 getOption 判断清空后返回 {}。 @100pah 是这样吗?
我的理解是,
myChart.setOption({}, true)会和默认的配置项合并,所以myChart.getOption()是不会返回空的。我认为应该是clear()方法里myChart.setOption({}, true)之后,记录一下清空状态,然后getOption判断清空后返回{}。 @100pah 是这样吗?
验证了一下,好像是这样的
我觉得,是不是应该修改一下文档。
按照定义来说,getOption 总应该返回当前 option 的状态。
而 option 中实际永远不可能是 “空对象” 的状态。
所以应该把文档中,返回空对象这个说法,去掉?
文档已修改,谢谢各位的建议。
Most helpful comment
我觉得,是不是应该修改一下文档。
按照定义来说,getOption 总应该返回当前 option 的状态。
而 option 中实际永远不可能是 “空对象” 的状态。
所以应该把文档中,返回空对象这个说法,去掉?