Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Extjs的卡片布局上获取当前活动项的索引号(而不是活动项的id)?_Javascript_Extjs_Extjs4 - Fatal编程技术网

Javascript 如何在Extjs的卡片布局上获取当前活动项的索引号(而不是活动项的id)?

Javascript 如何在Extjs的卡片布局上获取当前活动项的索引号(而不是活动项的id)?,javascript,extjs,extjs4,Javascript,Extjs,Extjs4,如何在卡片布局上获取当前活动项的索引号(而非活动项的id)? 以下代码将返回活动项目的id: Ext.getCmp('my-wizard').getLayout().activeItem.id]; 如果我不想为我的组件项定义id,而只想访问活动项的索引号,该怎么办?我找不到一种内置的快速简便方法,但以下方法可行: var wiz = Ext.getCmp('my-wizard'); var activeItem = wiz.getLayout().activeItem; var ac

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

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

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

我找不到一种内置的快速简便方法,但以下方法可行:

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

快速提示:我没有注意到您的问题被标记为
extjs4
,我的答案适用于extjs3,因此它可能适用于extjs4,也可能不适用于extjs4。感谢您非常实用和有效的答案。很抱歉stackoverflow不让我投票支持。。。