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 相关文章推荐
jQuery.autocomplete 支持中文输入(firefox)修正方法
Mar 10 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
May 13 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
May 27 Javascript
JavaScript中的定时器之Item23的合理使用
Oct 30 Javascript
js实现图片缓慢放大缩小效果
Aug 02 Javascript
基于Vue实例生命周期(全面解析)
Aug 16 Javascript
js数组实现权重概率分配
Sep 12 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
Dec 08 Javascript
Vue修改项目启动端口号方法
Nov 07 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
Jun 24 jQuery
vue+axios全局添加请求头和参数操作
Jul 24 Javascript
基于elementUI竖向表格、和并列的案例
Oct 26 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读取RSS feed的代码
2008/08/01 PHP
php连接数据库代码应用分析
2011/05/29 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
2015/12/10 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
js中的push和join方法使用介绍
2013/10/08 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
jQuery实现选项卡功能(两种方法)
2017/03/08 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
解决jquery appaend元素中id绑定事件失效的问题
2017/09/12 jQuery
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
Vue渲染过程浅析
2019/03/14 Javascript
Javascript的this详解
2019/03/23 Javascript
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
浅谈python新手中常见的疑惑及解答
2016/06/14 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
python实现文本界面网络聊天室
2018/12/12 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
2018/12/18 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
巴黎一票通:The Paris Pass
2018/02/10 全球购物
Bally美国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/18 全球购物
Skip Hop官网:好莱坞宝宝挚爱品牌
2018/06/17 全球购物
聚美优品广告词改编
2014/03/14 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
2014年社区工作总结
2014/11/18 职场文书
2014年副班长工作总结
2014/12/10 职场文书
2015年公司行政后勤工作总结
2015/05/20 职场文书
礼貌问候语大全
2015/11/10 职场文书
Python数据清洗工具之Numpy的基本操作
2021/04/22 Python
pandas数值排序的实现实例
2021/07/25 Python
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS