2017-04-10 62 views
0

我目前工作ExtJs的父标签,我被困在那里我想通过所有部件进行迭代,找到每个组件的父标签的地方。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() 
     }); 
    } 
}); 

在上面的代码中,当我经历了所有组件进行迭代,并记录父标签无论是名称Tab 1Tab 2

回答

0

当你通过所有组件迭代,只是做

field.up().up() 

其中字段是选项卡的组件,上面的语句将返回父项tabpanel等等

field.up().up().title 

将返回“标签1”

以同样的方式对标签2个组件将是

field.up() only. 

如果你只有一个循环或东西要经过的所有组件,那么你可以把条件,

如果(field.up())返回您的面板,然后阅读它的标题 其他做field.up()。up(),然后阅读标题。

我希望这可以解决你的问题。

+0

上述问题中得到样品的姓名,职务只是一个样本。可能有多个子字段,例如Fieldset可以有容器和控件驻留在其中。所以只有'field.up()。up()'在这种情况下不起作用 – user2988458

+0

试试这个:field.findParentByType('tabpanel')。tabBar.items.items [field.getTabIndex()]。title –

0

可以使用,field.up(“的TabPanel”),以获得一个tabpanel的引用,然后从引用可以为一个tabpanel