ExtJS3.4升级ExtJS4.2的问题汇总(转)
ExtJS3.4升级ExtJS4.2的问题汇总
昨天心血来潮,想把自己用extjs3.4作为UI的一个原型升级到最新的extjs4.2.2。
几年前曾经将原型从2.1升级到3.4,对于extjs的版本不兼容深深伤害过。最近两年就没有跟进。
Extjs4采用前端MVC的结构,使得整个前端代码的规划更加规范,更适合多人协作编写复杂的界面。新版的neptune theme也让看厌了ext外观的人眼前一亮,我就是为了这个外观升级的。
所以升级的策略是代价最小,并不将原来的逻辑重构为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 |
取消了,如果是数组,直接通过下标应用 |
链接 |
用途 |
获得grid状态栏工具条 |
Extjs3.4 |
grid.getBottomToolbar(); |
链接 |
http://docs.sencha.com/extjs/3.4.0/#!/api/Ext.Panel-method-getBottomToolbar |
Extjs4.2.2 |
grid.getDockedItems('toolbar[dock=bottom]'); |
链接 |
http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.container.DockingContainer-method-getDockedItems |
用途 |
获得grid当前选中条目,把’s’去了,(大神们真是闲得蛋疼!) |
Extjs3.4 |
grid.getSelectionModel().getSelections(); |
链接 |
http://docs.sencha.com/extjs/3.4.0/#!/api/Ext.grid.RowSelectionModel-method-getSelections |
Extjs4.2.2 |
grid.getSelectionModel().getSelection(); |
链接 |
http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.selection.Model-method-getSelection |
用途 |
定义派生类 |
Extjs3.4 |
Bat.Grid = Ext.extend(Ext.grid.EditorGridPanel, { constructor:function(config){ … Ext.reg('bat_grid', Bat.Grid); |
链接 |
|
Extjs4.2.2 |
Ext.define('Bat.Grid', { extend : 'Ext.grid.Panel', alias : 'bat_grid', xtype: 'bat_grid', constructor:function(config){ |
链接 |
用途 |
隐藏对话框 |
Extjs3.4 |
Ext.MessageBox.hide(); |
链接 |
3.4可以无视当前是否有对话框,直接hide不会出问题 |
Extjs4.2.2 |
if(Ext.MessageBox.isVisible()) Ext.MessageBox.hide(); |
链接 |
4.2.2如果当前没有对话框,直接hide会抛出异常 |
用途 |
展开树的所有子节点 |
Extjs3.4 |
node.expandChildNodes(true); |
链接 |
http://docs.sencha.com/extjs/3.4.0/#!/api/Ext.tree.TreeNode-method-expandChildNodes |
Extjs4.2.2 |
node.expandChildren(true); |
链接 |
http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.data.NodeInterface-method-expandChildren |
用途 |
隐藏tab项 |
Extjs3.4 |
tab1.hide(); tabPanel.unhideTabStripItem(tab1); |
链接 |
需要两个动作才能隐藏某tab项 |
Extjs4.2.2 |
tab1.tab.hide(); |
链接 |
此调用会隐藏相应的顶部标签,document里居然没有公开此调用, 在论坛找到的:http://forums.ext.net/showthread.php?19706-CLOSED-TabPanel-hideTabStripItem-unhideTabStripItem |
先总结这么多,有新得再增加。ss
最后晒张成果图
ExtJS3.4升级ExtJS4.2的问题汇总(转)的更多相关文章
- Spring Boot 1.5升级2.1 主要问题汇总
我们目前工作的系统是基于Spring Boot 1.5.19.RELEASE.Spring Cloud Edgware.SR3开发的,因为一个新项目开发过程的体验,所以在考虑升级到Spring Boo ...
- Extjs4学习
1 Ext js初步 1.1 获取Extjs 下载extjs: 可以从http://extjs.org.cn/ 获得需要的extjs发布包及更多支持. 1.2 搭建学习环境: 假设您的机器已经安装my ...
- VS2010升级VS2012必备(MVC4 WebPage2.0 Razor2.0资料汇集)
刚把项目升级到2012,发现发生了很多变化,以下是最近看过的网站和资料汇集,供需要者参考. 本文在最近一个月可能会不断更新. Razor2.0 新特性介绍: 介绍1:http://vibrantcod ...
- Extjs4中的布局
布局用于定义容器如何组织内部子元素和控制子元素的大小.在一个应用程序中,作为定义容器的组织形式,布局是一个十分重要的组件.是显示单个子元素?还是垂直或水平显示多个子元素?这些均由布局来定义.并且布局将 ...
- Extjs4新特性
Extjs 4相对于之前的版本作出了重大的修正.其中包括全新的类系统.新平台的引入.API的修整和加强还有新组件的引入(如新的图表和图形组件).Extjs 4提供更快速.更稳定的用户体验,并且让开发人 ...
- oracle11g数据库升级数据库升级
Oracle对自己产品也一样,对于自己的产品在不同的时期,支持的强度是不一样的.大体分来,支持的强度分为三个级别:Premier Support(最高优先级的支持),Extended Support( ...
- Extjs4.x Tree树刷新,默认选中展开到最后一次选中的节点
跟Extjs3.0不同Extjs4.2的写法如下: idPath = selNode.getPath("id"); tree.getStore().load({ node: tre ...
- ExtJS 刷新后,默认选中刷新前最后一次选中的节点
在对树节点进行操作后往往需要进行reload操作刷新一下树,但是很多业务都需要在树形刷新后默认选中最后一次选中的节点.这样就必须先保存前一次选中节点的信息,在reload之后再次通过节点的 ...
- 【转载】《Ext JS 4 First Look》翻译之一:新特性
免责声明: 本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除. 原文作者:^_^肥仔John 原文地址:http://www.cnblogs. ...
随机推荐
- NOIP2011-普及组复赛模拟试题-第一题-NBA总冠军
题目背景 Background 一年两度的期末考要到来了!! 题目描述 Description 又要到考试了,Ljw决定放松一下,就打开电视,看见了篮球赛,他立即想到了每年的NBA总冠军队伍.由 ...
- Openjudge-计算概论(A)-计算书费
描述: 下面是一个图书的单价表:计算概论 28.9 元/本数据结构与算法 32.7 元/本数字逻辑 45.6元/本C++程序设计教程 78 元/本人工智能 35 元/本计算机体系结构 86.2 元/本 ...
- 如何利用 MembershipUser 更改密码
如何利用 MembershipUser 更改密码 作者: vkvi 来源:千一网络 (原创) 时间: 2009-3-11 完美集成.增强 KindEditor HTML 编辑器 在 ASP.NET ...
- genymotion模拟器配置Genymotion-ARM-Translation 兼容包
前提是你的adb的环境已经配置正确,不知道怎么配置的可参考http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html 如果还不成功的话 ...
- Html加载swf 兼容IE8 (含以下)显示
嵌入参数说明: 1,AllowScriptAccess 参数: sameDomain:仅当 SWF 文件和网页位于同一域中时才允许执行外出脚本访问.这是 AVM2 内容的默认值----播放网络视频, ...
- tomcat session失效时间
conf\web.xml <session-config> <session-timeout>600</session-timeout> </session- ...
- 查看Android下生成的.db数据库
1.在cmd中找到sdk中的platform-tools文件夹. 2.输入adb shell命令. 3.再输入sqlite3 /data/data/com.svs.db/databases/svs.d ...
- 2.3 DHC REST
DHC REST也是Chrome浏览器的插件,可以在Chrome应用商店安装下载,主要用来模拟HTTP客户端发送测试数据到服务器.HTTP Get请求在开发中比较常用.
- java学习第21天(IO流的使用)
IO流分类: A:流向 输入流 读取数据 输出流 写出数据 B:数据类型 字节流 字节输入流 字节输出流 字符流 字符输入流 字符输出流 注意: a:如果我们没有明确说明按照什么分,默认按照数据类型分 ...
- Jersey客户端API调用REST风格的Web服务
Jersey 客户端 API 基础 jersey-1.14.jar 密码: cxug 要开始使用 Jersey 客户端 API,你首先需要创建一个 com.sun.jersey .api.client ...