解决Extjs4.2中Ext.tab.Panel的当页签过多超过总宽度后不显示的Bug

页签不超过宽度时,显示完全正常,如下图:

页签超过宽度后就显示不了了,如下图:

经过调试找到解决的方法,重写Ext.tab.Panel即可,代码如下

Ext.override(Ext.tab.Panel, {
    constructor: function () {
        var me = this;
        me.callParent(arguments);
        this.on('afterlayout', function (ct) {
            try {
                var tabBar = ct.tabBar;
                var dom = tabBar.getEl().dom.childNodes[0];
                var width = dom.clientWidth - dom.childNodes[0].clientWidth * 2;
                var m = dom.childNodes[1];
                m.style.width = width + 'px';
            } catch (e) {
                console.log(e.message);
            }
        });
    }
});

最后验证完全没问题,超过宽度会正常显示,如下图:

你可能感兴趣的:(ExtJs4.2)