Extjs优化(一)删除冗余代码提高运行速度


Posted in Javascript onApril 15, 2013

Extjs 本身是一个加载慢的JS框架,这个需要程序员的多去优化,之前说过了JS的打包的优化
这次来写写怎么减少冗余代码,也是提高运行速度,包含了1、删除代码通用2、提交表单通用3、初始化Gird通用化 本次只写 删除代码优化
先贴出代码

/** 
* 获取个GridPanel的选择的记录 
*/ 
function $getGdSelectedIds(grid, idName) { 
var selRs = grid.getSelectionModel().getSelections(); 
var ids = Array(); 
for (var i = 0; i < selRs.length; i++) { 
ids.push(eval("selRs[i].data." + idName)); 
} 
return ids; 
} 
/** 
*删除 
*/ 
function $postDel(a) { 
Ext.Msg.confirm("信息确认", "您确认要删除所选记录吗?", 
function(b) { 
if (b == "yes") { 
Ext.getBody().mask("正在删除,请稍等"); 
Ext.Ajax.request({ 
url: a.url, 
params: { 
ids: a.ids 
}, 
timeout: 100000000,//default 30000 milliseconds 
method: "POST", 
success: function(c, d) { 
Ext.getBody().unmask(); 
Ext.ux.Toast.msg("操作信息", "成功删除该记录!"); 
if (a.callback) { 
a.callback.call(this); 
return; 
} 
if (a.grid) { 
a.grid.getStore().reload(); 
} 
}, 
failure: function(c, d) { 
Ext.getBody().unmask(); 
Ext.ux.Toast.msg("操作信息", "操作出错,请联系管理员!"); 
} 
}); 
} 
}); 
} 
/** 
* Gird批量删除操作 
*/ 
function $delGridRs(a) { 
var b = $getGdSelectedIds(a.grid, a.idName); 
if (b.length == 0) { 
Ext.ux.Toast.msg("操作信息", "请选择要删除的记录!"); 
return; 
} 
var c = { 
url: a.url, 
ids: b, 
grid: a.grid 
}; 
$postDel(c); 
}

单个删除代码优化结果由原来的24行代码修改为5行代码搞定,代码看上去也比较好看点。
var a = Ext.getCmp("PlanBookAllGrid"); 
//单个删除 
$postDel({ 
url: __ctxPath + "/traincost/multiDelPlanBook.action", 
ids: b, 
grid: a 
});

批量删除也是一样
$delGridRs({ 
url: __ctxPath + "/traincost/multiDelPlanBook.action", 
grid:c.gridPanel, 
idName:'mainid' 
});
Javascript 相关文章推荐
游戏人文件夹程序 ver 3.0
Jul 14 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
Jan 09 Javascript
JavaScript类属性的访问方式详解
Feb 11 Javascript
jquery常用特效方法使用示例
Apr 25 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
Feb 18 Javascript
js改变embed标签src值的方法
Apr 10 Javascript
jquery中取消和绑定hover事件的实现代码
Jun 02 Javascript
微信小程序 图片绝对定位(背景图片)
Apr 05 Javascript
vue js秒转天数小时分钟秒的实例代码
Aug 08 Javascript
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
Vue可自定义tab组件用法实例
Oct 24 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
Aug 14 Javascript
Extjs Gird 支持中文拼音排序实现代码
Apr 15 #Javascript
jquery+css+ul模拟列表菜单具体实现思路
Apr 15 #Javascript
js作用域及作用域链概念理解及使用
Apr 15 #Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
Apr 15 #Javascript
jquery分页插件AmSetPager(自写)
Apr 15 #Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
Apr 15 #Javascript
关于jQuery object and DOM element
Apr 15 #Javascript
You might like
php 表单提交大量数据发生丢失的解决方法
2014/03/03 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
php常用数组函数实例小结
2016/12/29 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
PDO::setAttribute讲解
2019/01/29 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
jQuery基于cookie实现换肤功能实例
2017/10/14 jQuery
JavaScript的数据类型转换原则(干货)
2018/03/15 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
Less 安装及基本用法
2018/05/05 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python多线程学习资料
2012/12/19 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
Python如何实现文本转语音
2016/08/08 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
python实现飞船大战
2020/04/24 Python
python 实现性别识别
2020/11/21 Python
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
西班牙品牌鞋子、服装和配饰在线商店:Esdemarca
2021/02/17 全球购物
编辑硕士自荐信范文
2013/11/27 职场文书
优秀大学生推荐信范文
2013/11/28 职场文书
高中生学习的自我评价
2013/12/14 职场文书
党支部书记先进事迹
2014/01/17 职场文书
春节联欢晚会主持词
2014/03/24 职场文书
函授生自我鉴定
2014/03/25 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
《活见鬼》教学反思
2016/02/24 职场文书