在 ExtJs 4 中覆盖侦听器

Posted

技术标签:

【中文标题】在 ExtJs 4 中覆盖侦听器【英文标题】:Override listeners in ExtJs 4 【发布时间】:2014-08-17 10:03:57 【问题描述】:

是否可以。 我的代码如下:

Ext.define('app.view.SearchForm', 
extend: 'Ext.form.Panel',
alias : 'widget.searchform',
items: [
   
     xtype: 'radiogroup',
     id: 'type',
     items: [
      boxLabel: 'Individual', id: 'ind', name: 'clientType', value: 'x',inputValue: 'x', checked: true,
      boxLabel: 'Non-Individual', id: 'nind', name: 'clientType', value: 'y', inputValue: 'y'
    ],
    listeners: 
        change: function( radiogroup, checked ) 
     // event code here
     
  
  ]

  );

现在如何在一个新的 js 文件中覆盖监听器,如下所示:

Ext.define('app.view.newSearchForm',   
override: 'app.view.SearchForm',
alias: 'widget.newSearchForm'
   // how to override the listener

);

是否可以像覆盖方法一样覆盖侦听器?

【问题讨论】:

【参考方案1】:

像这样使用

       //your code here
       groupExpand : function(view, node, group, eOpts)
           alert("Expand called by refresh");
       ,
       initComponent: function() 
           this.superclass().initComponent.call(this);
           this.on('resize', this.groupExpand);
       
        //your code

覆盖 initComponent 方法以覆盖其他方法

【讨论】:

以上是关于在 ExtJs 4 中覆盖侦听器的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 addClsOnOver 监听器 ExtJS

删除 ExtJS 默认菜单监听器

在 EXTJS 4 中向 Ext.Grid.panel 添加监听器

ExtJs 按钮 - 在单击侦听器上更改文本和 cls

EXTJS 4.1,网格行体 tpl 上的事件监听器

Extjs 4.1 - CellEditing 插件中的侦听第二次不起作用