ExtJs:如何获取控件的父选项卡
我目前正在从事ExtJs:如何获取控件的父选项卡,extjs,extjs4.2,Extjs,Extjs4.2,我目前正在从事ExtJs工作,我被困在一个需要迭代所有组件并找到每个组件的父选项卡的地方 Ext.application({ name : 'Fiddle', launch : function() { Ext.create('Ext.tab.Panel', { width: 300, height: 200, activeTab: 0, items: [
ExtJs
工作,我被困在一个需要迭代所有组件并找到每个组件的父选项卡的地方
Ext.application({
name : 'Fiddle',
launch : function() {
Ext.create('Ext.tab.Panel', {
width: 300,
height: 200,
activeTab: 0,
items: [
{
title: 'Tab 1',
bodyPadding: 10,
items : [{
xtype: 'fieldset',
itemId: 'fieldsetId',
items: [{
xtype: 'checkbox',
fieldLabel: 'Check 1'
},{
xtype: 'checkbox',
fieldLabel: 'Check 2'
},{
fieldLabel: 'Combo 1',
xtype: 'combobox',
store: ['value1','value2','value3']
}]
},
{
xtype: 'button',
text: 'Reset',
}]
},
{
title: 'Tab 2',
html : 'Another one',
items: [{
xtype: 'button',
text: 'Test',
}]
}
],
renderTo : Ext.getBody()
});
}
});
在上面的代码中,当我遍历所有组件并记录父选项卡的名称时,无论它是
选项卡1
还是选项卡2
,只要在遍历所有组件时执行即可
field.up().up()
其中field是选项卡的组件,上面的语句将返回父选项卡面板,依此类推
field.up().up().title
将返回“选项卡1”
对于表2组件,将采用相同的方式
field.up() only.
如果只有一个循环或某个东西要通过所有组件,那么可以设置一个条件
如果(field.up())返回面板,则读取其标题
else do field.up().up(),然后阅读标题
我希望这能解决您的问题。您可以使用,field.up('tabPanel')获取tabPanel的引用,然后从引用中可以获取tabPanel的名称、标题。上面讨论的示例只是一个示例。可以有多个子字段,就像Fieldset可以有容器和控件驻留在其中一样。因此,只有
field.up().up()
在这种情况下不起作用请尝试以下操作:field.findParentByType('tabpanel').tabBar.items.items[field.getTabIndex()].title