+ -
当前位置:首页 → 问答吧 → ext 容器类组件继承的问题,想让子类有父类的所有items

ext 容器类组件继承的问题,想让子类有父类的所有items

时间:2011-04-24

来源:互联网

JScript code

Kext.form.fatherform = Ext.extend(Ext.form.FormPanel, {
    constructor: function (o) {

        var cfg = {
            items: [{
                xtype: "textfield",
                fieldLabel: "father1",
                id: "father1"
            }, {
                xtype: "textfield",
                fieldLabel: "father2",
                id: "father2"
            }],
            buttons: [{
                text: "fatherbtn",
                handler: Ext.emptyFn
            }]
        };

        if (o) { Ext.apply(cfg, o); } //语句1

        Kext.form.fatherform.superclass.constructor.call(this, cfg)
    }
});

Kext.form.childrenform = Ext.extend(Kext.form.fatherform, {
    constructor: function (o) {
        var cfg = {
            items: [{
                xtype: "textfield",
                fieldLabel: "children1",
                id: "children1"
            }]
        };
        Kext.form.childrenform.superclass.constructor.call(this, cfg)
    }
});



如果语句1执行,那么FormPanel里面有一个textfield:children1,有一个button
如果语句1不执行,那么FormPanel里面有两个textfield:father1,father2,有一个button

如果我想执行后是有三个textfield:father1,father2,children1,有一个button,应该如何写?

作者: p2227   发布时间: 2011-04-24

if (o) { 
  o.items=o.items || [];
  cfg.items=cfg.items || [];
  for(var i=0;i<o.items.length;i++){
  cfg.items.push(o.items[i]);
  }
  o.items=cfg.items;
  Ext.apply(cfg, o); 
} //语句1

作者: KK3K2005   发布时间: 2011-04-24