我们使用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>'
)
}
});
答案 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')