如何在Extjs的卡片布局上获取当前活动项目的索引号(而非活动项目ID)?

时间:2011-06-01 21:26:34

标签: javascript extjs extjs4

如何在卡片布局上获取当前活动项目的索引号(而非活动项目的ID)? 以下代码将返回活动项的ID:

     Ext.getCmp('my-wizard').getLayout().activeItem.id];

如果我不想为我的组件项定义ID而我只想访问活动项的索引号怎么办?

1 个答案:

答案 0 :(得分:24)

我无法找到内置的快捷方式,但以下方法可行:

var wiz = Ext.getCmp('my-wizard');
var activeItem = wiz.getLayout().activeItem;
var activeIndex = wiz.items.indexOf(activeItem);

如果您想经常这样做,可以将其添加到CardLayout原型中:

Ext.override(Ext.layout.CardLayout, {
    getActiveIndex: function() {
        return this.container.items.indexOf(this.activeItem);
    }
});

然后你可以用它:

var activeIndex = Ext.getCmp('my-wizard').getLayout().getActiveIndex();