日期:2014-05-16  浏览次数:20382 次

ExtJS3.4升级ExtJS4.2的问题汇总

昨天心血来潮,想把自己用extjs3.4作为UI的一个原型升级到最新的extjs4.2.2。

几年前曾经将原型从2.1升级到3.4,对于extjs的版本不兼容深深伤害过。最近两年就没有跟进。

Extjs4采用前端MVC的结构,使得整个前端代码的规划更加规范,更适合多人协作编写复杂的界面。新版的neptune theme也让看厌了ext外观的人眼前一亮,我就是为了这个外观升级的。

?extjs有风险,跟风需谨慎

?

所以升级的策略是代价最小,并不将原来的逻辑重构为MVC,而只是修改在extjs4中变化的API和语法形式。经过两天的奋战,还算顺利——到目前位置还没有遇到在新版中无法替代的老版功能实现。

?

改造过程中,将遇到的问题逐一记录,以供后来者参考。

?

?

?

?

?

?

用途

强制editorGrid结束编辑状态

Extjs3.4

stopEditing(?[cancel]?)

链接

http://docs.sencha.com/extjs/3.4.0/#!/api/Ext.grid.EditorGridPanel-method-stopEditing

Extjs4.2.2

链接

我的理解是extjs智能处理了,不劳编程者费心了

?

用途

根据给定位置获取子元素

Extjs3.4

itemAt(?index?) : Object

链接

http://docs.sencha.com/extjs/3.4.0/#!/api/Ext.util.MixedCollection-method-itemAt

Extjs4.2.2

取消了,如果是数组,直接通过下标应用