ExtJs - 一页中的动态 Ext.panel.Panel
ExtJs - Dynamic Ext.panel.Panel in one page
我的页面中有几个面板,是根据应显示的数据类型动态创建的。
我想将复选框添加到特定面板的标题行。我通过它的属性(比如它的名称\标题和字段数)来识别这个面板。然后我像这样添加复选框:
newPanel.header.items = [
{
xtype: 'checkbox',
boxLabel: 'some text'
}
];
但由于某种原因,此复选框正在呈现给页面中的所有面板。
我确信上面的代码只发生一次——我已经发出警报来检查它。
我可以避免它并使复选框只出现在一个特定的面板上吗?
有人可以指出为什么复选框出现在我所有的动态面板中吗?
你应该使用父容器的"add"方法或"setItems"方法(我想是你的头容器),即:
var myPanel = Ext.create('Ext.panel.Panel');
var myHeader = Ext.create('Ext.container.Container');
myPanel.add(myHeader);
myHeader.add({xtype: 'checkbox'});
试试下面的代码
newPanel.getHeader().add({
xtype: 'checkbox',
boxLabel: 'Some Text'
});
这里Fiddle供大家参考。
我的页面中有几个面板,是根据应显示的数据类型动态创建的。
我想将复选框添加到特定面板的标题行。我通过它的属性(比如它的名称\标题和字段数)来识别这个面板。然后我像这样添加复选框:
newPanel.header.items = [
{
xtype: 'checkbox',
boxLabel: 'some text'
}
];
但由于某种原因,此复选框正在呈现给页面中的所有面板。
我确信上面的代码只发生一次——我已经发出警报来检查它。
我可以避免它并使复选框只出现在一个特定的面板上吗?
有人可以指出为什么复选框出现在我所有的动态面板中吗?
你应该使用父容器的"add"方法或"setItems"方法(我想是你的头容器),即:
var myPanel = Ext.create('Ext.panel.Panel');
var myHeader = Ext.create('Ext.container.Container');
myPanel.add(myHeader);
myHeader.add({xtype: 'checkbox'});
试试下面的代码
newPanel.getHeader().add({
xtype: 'checkbox',
boxLabel: 'Some Text'
});
这里Fiddle供大家参考。