Exrjs4树面板设置节点参数

时间:2012-06-17 11:00:09

标签: extjs parameters extjs4 treenode

我在这里遇到问题,也许任何人都可以帮助我:)。

我的PHP文件有回复,我将使用的主要字段是“id”和“kode_jabatan”。 但我想点击树节点我想将“kode_jabatan”而不是“id”字段发送到参数。 是否有任何技巧或任何我错过的文件? 代码如下:

var treeStore = Ext.create('Ext.data.TreeStore', {
        proxy: {
            type: 'ajax',
            url: 'func/mainFunction.php?get=menu',
            actionMethods: {
                create: 'POST',
                read: 'POST',
                update: 'POST',
                destroy: 'POST'
            }
        },
        nodeParam:'kode_jabatan',
        folderSort:true,
        root: {
            text: 'Struktur Organisasi',
            id: '(2010-01)',
            expanded: true
        }
});


Ext.create('Ext.tree.Panel', {
           store: treeStore,
           title: 'Menu Utama'
})

screen shot for tree panel

1 个答案:

答案 0 :(得分:4)

将beforeload事件添加到您的树库中,您可以从操作参数访问当前请求节点,当我需要多个参数时,我必须在我的代码中执行此操作:

var treeStore = Ext.create('Ext.data.TreeStore', {
        proxy: {
            type: 'ajax',
            url: 'func/mainFunction.php?get=menu',
            actionMethods: {
                create: 'POST',
                read: 'POST',
                update: 'POST',
                destroy: 'POST'
            }
        },
        nodeParam:'kode_jabatan',
        folderSort:true,
        root: {
            text: 'Struktur Organisasi',
            id: '(2010-01)',
            expanded: true
        },
        listeners: {
            beforeload: function(store, operation, eOpts){
            var kode_jabatan = operation.node.get("kode_jabatan");
            operation.params.node = kode_jabatan;
    }
});

基本上你可以通过在operation.params。[无论你想要什么]对象中设置新属性来为你想要的请求添加任何参数。