Tree Panel' nodeexpand' Extjs6.5中的事件无法正常工作

时间:2017-09-26 03:25:26

标签: extjs

我正在尝试创建一个TreePanel,就像文件夹资源管理器一样。我在树形面板中单击Node Expander(如下面的屏幕截图)时试图找到该事件。

有谁知道什么是正确的事件?

以下是我的观点代码:

Ext.define('HDDTest.view.mod.searchDetails', {
    extend: 'Ext.Panel',
    xtype:'searchDetails',
    controller: 'home',
    requires: [
        'HDDTest.view.mod.PreviewPlugins.PreviewPlugin',
        'Ext.grid.*',
        'Ext.data.*',
        'Ext.util.*',
        'Ext.toolbar.Paging',
        'Ext.tip.QuickTipManager'
    ],
    items: [
        {
            xtype: 'treepanel',
            iconCls: 'icon-tree',
            title: 'Tree',
            collapsible: true,
            height: 300,
            padding:'0 20 0 0',
            rootVisible: false,
            id: 'treePanel',
            name:'treePanel',
            store: {
                type: 'TreeBufferStore'
            },
            listeners: {
                itemclick: 'onNodesSelected',
                nodeexpand  : 'onNodesSelected2' //<== It can not work
            },

            columns: [{
                xtype: 'treecolumn', //this is so we know which column will show the tree
                text: 'Representation',
                width: 360,
                sortable: true,
                dataIndex: 'text',
                locked: true
            }, {
                text: 'Parents',
                width: 430,
                dataIndex: 'From',
                sortable: true
            }, {
                text: 'NCID',
                width: 430,
                dataIndex: 'ncid',
                sortable: true

            }]
        }
    ]
});

我一无所获。我该怎么做?

1 个答案:

答案 0 :(得分:1)

  

使用itemexpand代替 nodeexpand ,它会起作用。

我创建了一个演示,您可以在此处查看它是如何工作的Sencha Fiddle

希望它能帮助您解决问题。

var store = Ext.create('Ext.data.TreeStore', {
    autoLoad: true,
    autoSync: false,
    root: {
       expanded: true
    },
    proxy: {
        type: 'ajax',
        url: 'veddocs.json',
        timeout: 300000,
        reader: {
            type: 'json',
            root: 'children'
        }
    }
});

Ext.create('Ext.tree.Panel', {
    title: 'Simple Tree',
    width: 200,
    height: 150,
    store: store,
    rootVisible: false,
    renderTo: Ext.getBody(),
    listeners: {
        itemexpand: function( node, eOpts){//Fires after this Panel has expanded.
           Ext.Msg.alert('Success',`Your node <b>${node.get('text')}</b>  is exapand`);
        }
    }
});