0

我在 extjs4 工作。我创建了树视图作为-

Ext.define('Balaee.view.qb.qbquestion.tree1', {

    extend: 'Ext.tree.Panel',
    title: 'Simple Tree',
    width: 200,
   id:'tree1',
    height: 150,

    alias : 'widget.tree1',
    store:'qb.qbquestionStore',
    displayField: 'text',
    rootVisible : true,
    multiSelect : true,
    valueField:'id',
    renderTo: Ext.getBody(),}),

通过服务器发送的 Json 正确附加到上面的树形面板。但是当我试图点击treenodes时,它在mozilla firefox中给我错误为“TypeError:listener.fireFn is undefined”,在chrome中错误为“Uncaught TypeError:无法调用未定义的方法'apply'”。节点也只被扩展一次。在 itemclick 的控制器中,我将代码编写为-

init : function() {
        this.control({
                'tree1':{
                     itemclick: {

                           fn: function (view, record, item, index, e) {

                           if(record.data.checked==true)
                               {
                                  console.log(record.data.id);   

                               }
                           }
                       },

那么我需要做些什么来消除错误呢?

4

1 回答 1

0

'tree1'是一个不正确的选择器。为了通过它的 id 将事件处理程序附加到组件,在 id 前面加上 hashtag #

this.control({
    '#tree1':{

更新

我错过了线路alias : 'widget.tree1'。因此,您的选择器是正确的。

尝试将侦听器更改为:

'tree1':{
    itemclick:  function (view, record, item, index, e) {
        if(record.data.checked==true)
        {
            console.log(record.data.id);   
        }
    }

我相信您的代码中显示的侦听器格式不受支持。

于 2013-06-21T11:28:15.580 回答