EXTJS:TreePanel单击以更改集合项
大家好 我是一个extjs行乞者,当我点击我的一个节点时,我对更改/设置一个布局有问题 这里是我的内容面板: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
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'));
}
});