Javascript ExtJS 4.1-如何覆盖所有字段

Javascript ExtJS 4.1-如何覆盖所有字段,javascript,extjs4,overriding,extjs4.1,Javascript,Extjs4,Overriding,Extjs4.1,我想在库extjs4.1中的所有字段(numberfield、textfield、datefield等)上应用一个插件。 有人知道我怎么做吗 据我所知,所有字段都是从基本字段扩展而来的。所以我试过这个;但它根本不起作用。如果有人能指引我,我会很高兴的 提前谢谢 Ext.form.BaseField.override({ plugins : [ 'clearbutton' ] }); 也许这种语法会更好用 Ext.override(Ext.form.field.Base, {

我想在库extjs4.1中的所有字段(numberfield、textfield、datefield等)上应用一个插件。 有人知道我怎么做吗

据我所知,所有字段都是从基本字段扩展而来的。所以我试过这个;但它根本不起作用。如果有人能指引我,我会很高兴的

提前谢谢

Ext.form.BaseField.override({
     plugins    : [ 'clearbutton' ]
}); 

也许这种语法会更好用

Ext.override(Ext.form.field.Base, {
   plugins    : [ 'clearbutton' ]
});

尝试重写initComponent方法:

Ext.form.BaseField.override({
 initComponent : function(){
   var me = this;
   me.plugins = Ext.Array.merge(me.plugins || [],  [ 'clearbutton' ]);
   me.callParent();
 }
}); 

不幸的是出现了这个错误:“UncaughtTypeError:无法调用undefined的方法'toLowerCase'”我尝试了一下,得到了同样的错误。“清除”按钮显然不适用于文本区域。正如所说的那样,你的问题没有解决办法。您必须特别重写与clearbutton.Oops兼容的字段,我的上一条语句不正确,经过进一步调查,实际上是Ext.form.field.Display导致了我的问题,因为没有为该字段呈现实际元素。这是有意义的,因为您不应该允许用户清除他/她无法输入数据的字段。这是一个无效的问题,因为用clearbutton扩展覆盖所有字段没有意义。Extjs 4.1中的某些表单字段与clearbutton不兼容。