Ext JS Combbox覆盖 - 如何在覆盖属性之前设置属性

时间:2015-08-13 09:27:36

标签: javascript extjs

我们使用Ext JS 2.3.0

我试图覆盖一个组合框“tpl”属性,但我想覆盖它,如果 它尚未设定。

在我们的应用中,组合框被广泛使用,并且通过扩展组合框创建了一些新组件。所以重要的是我不要覆盖任何自定义设置。

所以基本上我想要得到这样的东西。

Ext.override(Ext.form.ComboBox, {
     if(!this.tpl){
        tpl: new Ext.XTemplate( '<tpl for=".">',
                                    '<tpl>',
                                    '<div ext:qtip="{text}" class="x-combo-list-item">{text}</div>',                '</tpl>',
                                '</tpl>'
                                )
     }
});

1 个答案:

答案 0 :(得分:0)

如果已在Ext.form.ComboBox本身上设置了{p> tpl,则其原型中只有Ext.form.ComboBox。在Ext.form.ComboBox的任何类扩展上设置它不会影响原始类。请参见此处说明:https://fiddle.sencha.com/#fiddle/s3g

要检查Ext.form.ComboBox本身是否tpl,请使用:

Ext.form.ComboBox.prototype.hasOwnProperty('tpl')