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 相关文章推荐
25个好玩的JavaScript小游戏分享
Apr 22 Javascript
JavaScript判断DOM何时加载完毕的技巧
Nov 11 Javascript
jquery教程ajax请求json数据示例
Jan 13 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
Mar 16 Javascript
调用jQuery滑出效果时闪烁的解决方法
Mar 27 Javascript
详解Javascript事件驱动编程
Jan 03 Javascript
jQuery使用正则表达式限制文本框只能输入数字
Jun 18 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
Oct 25 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
Apr 18 Javascript
Bootstrap-table使用footerFormatter做统计列功能
Sep 07 Javascript
微信公众号H5支付接口调用方法
Jan 10 Javascript
Openlayers实现图形绘制
Sep 28 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 INI配置文件的解析实现分析
2011/01/04 PHP
php 启动报错如何解决
2014/01/17 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
PHP下载生成的csv文件及问题总结
2015/08/06 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
PHP反射机制原理与用法详解
2017/02/15 PHP
PHP等比例压缩图片的实例代码
2018/07/26 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
js下用gb2312编码解码实现方法
2009/12/31 Javascript
jQuery开发者都需要知道的5个小技巧
2010/01/08 Javascript
JavaScript 空位补零实现代码
2010/02/26 Javascript
jquery CSS选择器笔记
2010/03/29 Javascript
在Windows上安装Node.js模块的方法
2011/09/25 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
2012/12/10 Javascript
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
2013/02/05 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
vue 路由嵌套高亮问题的解决方法
2018/05/17 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
Vant picker 多级联动操作
2020/11/02 Javascript
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
浅谈Python 列表字典赋值的陷阱
2019/01/20 Python
Python检测数据类型的方法总结
2019/05/20 Python
python 对象真假值的实例(哪些视为False)
2020/12/11 Python
乌克兰在线药房:Аптека24
2019/10/30 全球购物
opencv实现图像平移效果
2021/03/24 Python
咖啡馆创业计划书
2014/01/26 职场文书
《哪吒闹海》教学反思
2014/02/28 职场文书
小学教师培训方案
2014/06/09 职场文书
食品安全汇报材料
2014/08/18 职场文书
Python 装饰器(decorator)常用的创建方式及解析
2022/04/24 Python