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类中的公有变量和私有变量
Jul 24 Javascript
Prototype 学习 工具函数学习($方法)
Jul 12 Javascript
常见JS效果之图片减速度滚动实现代码
Dec 08 Javascript
浅析JavaScript中的CSS属性及命名规范
Nov 28 Javascript
js AppendChild与insertBefore用法详细对比
Dec 16 Javascript
关于JavaScript对象的动态选择及遍历对象
Mar 10 Javascript
jQuery原型属性和原型方法详解
Jul 07 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
Sep 17 Javascript
轻松实现js图片预览功能
Jan 18 Javascript
Node.js API详解之 dgram模块用法实例分析
Jun 05 Javascript
Angular短信模板校验代码
Sep 23 Javascript
使用vuex-persistedstate本地存储vuex
Apr 29 Vue.js
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
MySQL数据源表结构图示
2008/06/05 PHP
thinkPHP多表查询及分页功能实现方法示例
2017/07/03 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
从新浪弄下来的全屏广告代码 与使用说明
2007/03/15 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
Angular ui.bootstrap.pagination分页
2017/01/20 Javascript
Ajax实现不刷新取最新商品
2017/03/01 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
微信小程序选择图片和放大预览图片功能
2017/11/02 Javascript
如何把vuejs打包出来的文件整合到springboot里
2018/07/26 Javascript
jQuery 同时获取多个标签的指定内容并储存为数组
2018/11/20 jQuery
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
Vue实现表格批量审核功能实例代码
2019/05/28 Javascript
js实现缓动动画
2020/11/25 Javascript
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
python中global用法实例分析
2015/04/30 Python
Python 数值区间处理_对interval 库的快速入门详解
2018/11/16 Python
对python 树状嵌套结构的实现思路详解
2019/08/09 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
会计与审计毕业生自荐信范文
2013/12/30 职场文书
运动会广播稿50字
2014/01/26 职场文书
上课玩手机检讨书
2014/02/08 职场文书
党校毕业心得体会
2014/09/13 职场文书
预备党员转正材料
2014/12/19 职场文书
2015年党建工作总结
2015/03/30 职场文书
单位计划生育责任书
2015/05/09 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸
CentOS MySql8 远程连接实战
2022/04/19 MySQL