0

我正在尝试使用委托来检测何时单击了选项卡项。这是我的看法:

Ext.define('SenchaPOC.view.Viewport',{
    extend: 'Ext.TabPanel',
    xtype: 'tabpanel',

    config:{
        fullscreen: true,
        tabBarPosition: 'bottom',
        items:[{
                    xtype: 'profilepage'
                },
                {
                    xtype: 'internaltransferpage'
                },
                {
                    xtype: 'accounttrendspage'
                }
        ]
    },
    listeners: {
        delegate: 'tabbar > tab',
        tap: function() {
            console.log("changed");
        }
    }
});

它不工作。我认为错误在这一行

delegate: 'tabbar > tab'

有人知道如何解决这个问题吗?另外,如何获取已更改为的选项卡的标题?

4

2 回答 2

0

我相信您正在寻找“activeitemchange”事件。尝试:

listeners: {
    activeitemchange: function(that, newValue, oldValue, eOpts) {
        console.log( newValue.getTitle() )
    }
}

希望能帮助到你。

于 2013-07-26T01:04:08.890 回答
0

实际上,我意识到错误在于“侦听器”应该在“配置”中。

Ext.define('SenchaPOC.view.Viewport',{
    extend: 'Ext.TabPanel',
    xtype: 'tabpanel',

    config:{
        fullscreen: true,
        tabBarPosition: 'bottom',
        items:[{
                    xtype: 'profilepage'
                },
                {
                    xtype: 'internaltransferpage'
                },
                {
                    xtype: 'accounttrendspage'
                }
        ],
        listeners: {
            delegate: 'tabbar > tab',
            tap: function() {
                console.log("changed");
            }
        }
    }
});
于 2013-07-26T20:56:39.760 回答