不能读取属性'removeCls'ExtJS 5中标记字段为null

Cannot read property 'removeCls' of null for tagfield in ExtJS 5

本文关键字:null 字段 removeCls 读取 不能读 属性 不能 ExtJS      更新时间:2023-09-26

我正在升级我的ExtJs应用程序form 4 to 5.1。最初,我使用UX中的boxselect组件,但在ExtJS 5.1中,该组件位于核心Ext目录中。所以我删除了boxselect,并用tagfield代替,就像在渐变指南中说的那样。但是这样做之后,我开始得到这个错误

Uncaught TypeError: Cannot read property 'removeCls' of null.

如果我重命名tagfield与组合它的工作没有任何错误。

我只改变xtype : '',没有别的,不知道我在升级boxselect to tagfield in extjs 5时还缺少什么?

编辑-:经过更多的调试,我从Ext.form.field.Text中发现了toggleInvalidCls()方法的问题。请找到下面的代码,

toggleInvalidCls: function(hasError) {
    var method = hasError ? 'addCls' : 'removeCls';
    this.callParent();
    this.triggerWrap[method](this.triggerWrapInvalidCls);//getting error here
    this.inputWrap[method](this.inputWrapInvalidCls);
},

。triggerWrap对象将为null标记字段…有理由吗?浏览器控制台也显示警告XTemplate evaluation exception: wrapperStyle is not defined之前抛出错误的removeCls…

我的组合覆盖有问题。刚刚删除了现有的组合覆盖,现在可以显示标签字段。

我忘了在我的应用程序中有组合覆盖。

记住 -如果您正在使用tagifled与您现有的组合覆盖考虑它,同时升级extjs 5与tagfield。