ECharts refresh 的调用

2013_实习生 发布于 2014/04/24 11:21
阅读 14K+
收藏 0
var path = '${ctx}';
   var toolbox = null;
   $(document).ready(function(){
   // 路径配置
require.config({
   paths:{ 
       'echarts' : path + '/admin/commonModule/map/echarMap/echarts/echarts',
       'echarts/chart/bar' : path + '/admin/commonModule/map/echarMap/echarts/echarts'
   }
});
// 使用
require(['echarts','echarts/chart/bar'],
   function(ec) {
       toolbox = ec.init(document.getElementById('worldTopChart')); 
       var option = {
        toolbox: {
       show : true,
       orient : 'vertical',
       x: 'right',
       y: 'center',
       feature : {
           mark : {show: true},
           dataView : {show: true, readOnly: false},
           restore : {show: true},
           saveAsImage : {show: true}
       }
   },
           tooltip: {show: true},
           legend: {data:['销量']},
           xAxis : [{type : 'category',
                   data : ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]}],
           yAxis : [{type : 'value'}],
           series : [{name:"销量",type:"bar",
                   data:[5, 20, 40, 10, 10, 20]}]
       };
       // 为echarts对象加载数据 
       toolbox.setOption(option); 
       var ecConfig = require('echarts/config');
var zrEvent = require('zrender/tool/event');
//监控刷新事件
toolbox.on(ecConfig.EVENT.REFRESH, function(param){
alert("刷新");
})
   }
);
});
function refresh(){
toolbox.refresh();

}

当我调用 refresh()方法时并没有触发监控事件REFRESH 请问改如何正确调用 toolbox.refresh() 方法

加载中
0
Kener-林峰
Kener-林峰

http://echarts.baidu.com/doc/example/event.html

可以用这个页面调试一下,实例主动调用的refresh不会再抛出refresh事件了,因为调用时你自己就知道发生refresh,可以直接调用相关逻辑,如果再抛出refresh,使用不当很容易造成死循环,所以~

2
2013_实习生
我想做一个类型data_view 中得refresh按钮的事件,动态对已有图像数据修改。不想用setOption方法重新设置option因为这样对图形的修改都会被还原。
0
2
2013_实习生

我想做一个类型data_view 中得refresh按钮的事件,动态对已有图像数据修改。不想用setOption方法重新设置option因为这样对图形的修改都会被还原。

0
Kener-林峰
Kener-林峰

http://echarts.baidu.com/doc/doc.html#Toolbox

看看这两个方法

  • {Function=} optionToContent 自主编排数据视图的显示内容
  • {Function=} contentToOption 当数据视图readOnly为false时,会出现刷新按钮,如果是自主编排的显示内容,如何翻转也请自理


重载实现你的需求

2
2013_实习生
重写这两个方法,更新数据需要从数据视图的refresh 按钮触发。我需要在页面自定义一个按钮更新数据,点击按钮后刷新图表数据但要保留对图表的修改。我在按钮中调用mychar.refresh();无法触发到contentToOption 。请问我这个按钮改如何做才能达到更新数据的效果
0
Kener-林峰
Kener-林峰

option.toolbox.dataView直接传入这个方法,不触发吗?

返回顶部
顶部