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 相关文章推荐
extjs3 combobox取value和text案例详解
Feb 06 Javascript
原生JS实现加入收藏夹的代码
Oct 24 Javascript
jquery插件jTimer(jquery定时器)使用方法
Dec 23 Javascript
js返回前一页刷新本页重载页面
Jul 29 Javascript
JS实现页面超时后自动跳转到登陆页面
Jan 19 Javascript
日常收集整理的JavaScript常用函数方法
Dec 10 Javascript
去除字符串左右两边的空格(实现代码)
May 12 Javascript
JavaScript遍历求解数独问题的主要思路小结
Jun 12 Javascript
JavaScript实现翻页功能(附效果图)
Feb 16 Javascript
详解Js中的模块化是如何实现的
Oct 18 Javascript
JS实现判断图片是否加载完成的方法分析
Jul 31 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
Oct 09 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截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
解析php curl_setopt 函数的相关应用及介绍
2013/06/17 PHP
php命名空间学习详解
2014/02/27 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
php实现无限级分类
2014/12/24 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
PHP模糊查询的实现方法(推荐)
2016/09/06 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
PHP回调函数简单用法示例
2019/05/08 PHP
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2012/01/03 Javascript
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
轻松创建nodejs服务器(6):作出响应
2014/12/18 NodeJs
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
jquery小火箭返回顶部代码分享
2015/08/19 Javascript
全面解析Bootstrap排版使用方法(标题)
2015/11/30 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
21行Python代码实现拼写检查器
2016/01/25 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
什么是Rollback Segment
2013/04/22 面试题
党员2014两会学习心得体会
2014/03/17 职场文书
《地震中的父与子》教学反思
2014/04/10 职场文书
2015年毕业生个人自荐书
2015/03/24 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
北京青年观后感
2015/06/15 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL
Spring 使用注解开发
2022/05/20 Java/Android