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 相关文章推荐
小型js框架veryide.librar源代码
Mar 05 Javascript
解析使用JS 清空File控件的路径值
Jul 08 Javascript
jQuery中append()方法用法实例
Dec 25 Javascript
jQuery实现首页顶部可伸缩广告特效代码
Apr 15 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
Dec 08 Javascript
socket.io学习教程之深入学习篇(三)
Apr 29 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
Nov 22 Javascript
Node.js成为Web应用开发最佳选择的原因
Feb 05 Javascript
React SSR样式及SEO的实践
Oct 22 Javascript
给localStorage设置一个过期时间的方法分享
Nov 06 Javascript
详解JavaScript 的变量
Mar 08 Javascript
VueCli4项目配置反向代理proxy的方法步骤
May 17 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在线生成ico文件的代码
2007/10/09 PHP
php SQL防注入代码集合
2008/04/25 PHP
建站常用13种PHP开源CMS比较
2009/08/23 PHP
PHP操作MongoDB GridFS 存储文件的详解
2013/06/20 PHP
浅析PHP Socket技术
2013/08/02 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
深入php内核之php in array
2015/11/10 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
Laravel实现自定义错误输出内容的方法
2016/10/10 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
2009/11/24 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
JS实现可针对算术表达式求值的计算器功能示例
2018/09/04 Javascript
对 Vue-Router 进行单元测试的方法
2018/11/05 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
浅谈Python基础之I/O模型
2017/05/11 Python
pandas带有重复索引操作方法
2018/06/08 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
使用Django清空数据库并重新生成
2020/04/03 Python
python中turtle库的简单使用教程
2020/11/11 Python
浅谈CSS3中display属性的Flex布局的方法
2017/08/14 HTML / CSS
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
企业承诺书怎么写
2014/05/24 职场文书
安全标语口号
2014/06/09 职场文书
法制宣传标语
2014/06/23 职场文书
物业工程部主管岗位职责
2015/04/16 职场文书
新手入门Mysql--概念
2021/06/18 MySQL