1

我这里有问题,也许任何人都可以帮助我:)

我有一个来自我的 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'
})

树面板的屏幕截图

4

1 回答 1

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.[whatever you want] 对象中设置新属性来将任何参数添加到您想要的请求中。

于 2012-07-02T19:14:05.127 回答