EXTJS:TreePanel单击以更改集合项

EXTJS:TreePanel单击以更改集合项,extjs,treepanel,Extjs,Treepanel,大家好 我是一个extjs行乞者,当我点击我的一个节点时,我对更改/设置一个布局有问题 这里是我的内容面板: var contentPanel = { id: 'content-panel', region: 'center', // this is what makes this panel into a region within the containing layout layout: 'card', margins: '2 5 5 0', act

大家好 我是一个extjs行乞者,当我点击我的一个节点时,我对更改/设置一个布局有问题

这里是我的内容面板:

var contentPanel = {
    id: 'content-panel',
    region: 'center', // this is what makes this panel into a region within the containing layout
    layout: 'card',
    margins: '2 5 5 0',
    activeItem: 0,
    border: false,
    items: layoutExamples // HERE I WANT TO CHANGE DYNAMIC
};
我的treenode上的“侦听器”:

treePanel.getSelectionModel().on('select', function(selModel, record) {
    if (record.get('leaf')) {
        //Ext.getCmp('content-panel').layout.setActiveItem(record.getId() + '-panel'); <== It's work.
        Ext.getCmp('content-panel').setActive(formPanel); // HERE I TRY TO CHANGE ITEM ON CLICK AND SET FORMPANEL 

});
所以,我的目标是当我点击一个节点时,改变我的内容面板的项目


非常感谢你的帮助,朋友们

试试看,在评论中告诉我:

var formPanel = Ext.create('Ext.form.Panel',
    {
        'id': 'form-panel-1', // or what you want to give
        // and all the properties you already defined
    }
);
在您的活动中,基于:


顺便说一下,在您提供的代码中,侦听器中有一个错误,它丢失了一个}来关闭if

formPanel在哪里定义?如果可以的话,为什么不使用注释行呢?FormPanel是在Ocready上定义的(如果我在contentPanel中使用“items:FormPanel”,我有我的项目,但它是静态的,我想在单击时更改(因为我有许多项目,每个节点一个),注释行用于更改布局(这是sencha示例),我,我只想更改项目..谢谢。因为遗漏“}”是的,只是一个坏的复制/粘贴。不幸的是,它不起作用:((顺便说一下,很好的尝试…)我也尝试ID:“窗格1-1”,没有引用ID。谢谢!这是工作!这也是:Ext.getCmp(“Celeon Posits”).Dealth.StActuvItIt(Ext.getCmp(‘窗格PANEL-1’));但是它也改变了布局。如果没有人知道如何改变“项目”,我会考虑这个答案:也许这不是我们如何调用该方法,而是您如何制作不同的面板(样式、包含的项目、边框等)?是的,我认为这不是好的,我制作了不同的面板,如extjs示例。
var formPanel = Ext.create('Ext.form.Panel',
    {
        'id': 'form-panel-1', // or what you want to give
        // and all the properties you already defined
    }
);
treePanel.getSelectionModel().on('select', function(selModel, record) {
    if (record.get('leaf')) {
        Ext.getCmp('content-panel').getLayout().setActiveItem(Ext.getCmp('form-panel-1'));
    }
});