ExtJs:如何获取控件的父选项卡

时间:2017-04-10 06:24:22

标签: extjs extjs4.2

我目前正在处理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 1还是Tab 2

2 个答案:

答案 0 :(得分:0)

每当您遍历所有组件时,只需执行

field.up().up()

其中field是标签的组成部分,上面的语句将返回父标签面板,依次为

field.up().up().title

会返回“Tab 1”

对于标签2组件,它将采用相同的方式

field.up() only.

如果您只有一个循环或某些东西可以遍历所有组件,那么您可以设置一个

的条件

if(field.up())返回面板然后读取它的标题  否则执行field.up()。up()然后读取标题。

我希望这能解决你的问题。

答案 1 :(得分:0)

你可以使用field.up('tabPanel')获取tabPanel的引用,然后从引用中获取tabPanel的名称,标题