Как получить порядковый номер активного элемента (а не идентификатор активного элемента) на макете карты в Extjs? - PullRequest
12 голосов
/ 02 июня 2011

Как получить порядковый номер текущего активного элемента (а не идентификатор активного элемента) на макете карты?Следующий код вернет идентификатор активного элемента:

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

Что если я не хочу определять идентификатор для своих компонентов, и я просто хочу получить доступ к индексу активного элемента?

1 Ответ

24 голосов
/ 02 июня 2011

Я не смог найти встроенный быстрый и простой способ, но сработало бы следующее:

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();
...