Sencha touch 2 Sencha touch 2-如何覆盖自定义组件的nestedlist点击事件

Sencha touch 2 Sencha touch 2-如何覆盖自定义组件的nestedlist点击事件,sencha-touch-2,sencha-architect,Sencha Touch 2,Sencha Architect,我正在使用getItemTextTpl将复选框组件添加到嵌套列表中-我还希望能够覆盖默认的点击事件,以便在选中复选框时显示弹出消息,并且列表不会前进到下一个项目。请参阅下面的配置-我能够捕获复选框检查事件,但不知道如何覆盖nestedlist的默认行为。感谢您的帮助,请让我知道,如果我可以澄清任何细节-如果它有帮助,我正在使用sencha architect 嵌套列表配置: getItemTextTpl: function(recordnode) { return '<ta

我正在使用getItemTextTpl将复选框组件添加到嵌套列表中-我还希望能够覆盖默认的点击事件,以便在选中复选框时显示弹出消息,并且列表不会前进到下一个项目。请参阅下面的配置-我能够捕获复选框检查事件,但不知道如何覆盖nestedlist的默认行为。感谢您的帮助,请让我知道,如果我可以澄清任何细节-如果它有帮助,我正在使用sencha architect

嵌套列表配置:

getItemTextTpl: function(recordnode) {
        return '<table width="100%"><row>' + 
        '<tr><td width="100%" align="left" width="100%" valign="bottom"><div class="view"><input type="checkbox" <tpl  if="done">checked</tpl> />&nbsp;&nbsp;{name}</td></row></table>'; 

    }

要防止列表切换到下一张卡,您需要覆盖activeitemchange,如下所示:

var nestedList = Ext.create('Ext.NestedList', {
  ...
  listeners:{
    activeitemchange:function(){
      if(...){ // Check if you checkbox is checked or not
         return false; // return false prevent the nestedlist from switching to the next view
      }
    }
  }
});

为什么不尝试覆盖itemtap事件?@tdebaileul我已经设置了覆盖来捕获if record.isLeaf()或否,但是当选中复选框时,如何防止列表在树中前进?我在Architect中设置了一个activeItemChange事件来覆盖列表切换,如您所示,但在列表移动返回false之前,仍然需要捕获复选框(或列表项上的按钮或其他表单元素)的点击事件。在您的示例中,您显示了一个是否选中的检查,但它不应该是一个是否点击的检查(可能还包括列表项上的复选框和标签)?再次感谢你帮我弄明白这一点
var nestedList = Ext.create('Ext.NestedList', {
  ...
  listeners:{
    activeitemchange:function(){
      if(...){ // Check if you checkbox is checked or not
         return false; // return false prevent the nestedlist from switching to the next view
      }
    }
  }
});