如何从内部参考tabpanels选项卡

use*_*963 3 extjs extjs4

我有一个tabpanel,它是表单的一部分(输入字段在不同的选项卡上).如果表单包含无效字段,即使它们不在当前选项卡上,我也需要通知用户提交.我认为最好的方法是更改​​标签颜色.

问题是如何在不引入新ID的情况下获取选项卡按钮的参考?

这是我试图做的事情,因为我引用了标签内部主体,并且还有一个直到整个标签面板

...
xtype:'tabpanel',
plain:true,
activeTab: 0,
height:190,
margin: '10 0 0 0',
items: [{
    title: 'Personal',
    layout:'column',
    border:false,
    items:[{
        columnWidth:.5,
        border:false,
        layout: 'anchor',
        defaultType: 'textfield',
        items: [{
             fieldLabel: 'Email',
             name: 'user[email]',
             allowBlank: false,
             listeners: {
                 'validitychange': function(th, isvalid, eOpts) {
                     if(!isvalid) {
                         alert(this.up().up().getId());
                     };
                 }
             },
             vtype:'email',
             anchor:'95%'
        }]
    }]
}]
Run Code Online (Sandbox Code Playgroud)

dbr*_*rin 5

试试这个:从您的字段或面板中的任何其他组件(如按钮):

this.up('tabpanel').down('tab').el.applyStyles('background:red')
Run Code Online (Sandbox Code Playgroud)

如果有问题的标签是不是第一个选项卡,可以在这样的选择使用任何标签属性:... down('tab[text=Example]').如果你有,你可以使用id属性,如果没有,你可以组成任何属性并将其设置为有意义的东西,如"ref:FirstTab".