继承基类覆写方法

1

Ext.define('assign.BaseViewport', {
    extend : 'Ext.Viewport',

    createQueryForm : function(grid) {
        var form = Ext.create({
            xtype : 'assign.BaseQueryForm',
            grid : grid
        });
        return form;
    }
});

Ext.define('assign.GroupViewport', {
    extend : 'assign.BaseViewport',
    createQueryForm : function(grid) {
        var form = Ext.create({
            xtype : 'assign.GroupQueryForm',
            grid : grid
        });
        return form;
    }
});

createQueryForm被assign.GroupViewport覆写,基类的方法并么有被调用,所以控件的initcomponet()被覆写的时候要记得this.callparent()

同时注意扩展的代码写在this.callparent()的前面还是后面。

this.callparent()之前不会产生什么组件,都是单纯的数组,变量等,如

this.callParent();
this.items.get(0).items.get(0).items.add(proxyCombo)

两句话的顺序不能调换

Done

原文地址:https://www.cnblogs.com/xingyyy/p/4863015.html