【问题标题】:Extjs Chart Series ItemClick in Controller控制器中的 Extjs 图表系列 ItemClick
【发布时间】:2014-02-26 15:55:32
【问题描述】:

我正在 extjs 中创建图表系列项目的 itemclick 事件

        "mychart series": {
            itemclick: function() {
                alert('s');
            }
        }

上述功能不起作用。

【问题讨论】:

    标签: extjs controller series


    【解决方案1】:

    图表系列不是组件,因此选择器永远不会匹配。您需要中继系列事件,就好像它们是由图表本身触发的一样,并与图表匹配:

    Ext.define('My.Chart', {
        extend: 'Ext.chart.Chart',
        alias: 'widget.mychart',
    
        initComponent: function() {
            var me = this;
    
            me.callParent();
    
            me.series.each(function(s) {
                // This will relay Series `itemclick` event
                // as `seriesitemclick` fired on the Chart itself
                me.relayEvents(s, ['itemclick'], 'series');
            });
        }
    });
    
    Ext.define('My.Controller', {
        extend: 'Ext.app.Controller',
    
        init: function() {
            this.control({
                mychart: {
                    seriesitemclick: this.onSeriesItemClick
                }
            });
        },
    
        onSeriesItemClick: function(item) {
            var sprite = item.sprite,
                series = item.series,
                record = item.storeItem,
                value  = item.value;
    
            ...
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 2015-12-17
      相关资源
      最近更新 更多