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实现回旋滚动效果
Jan 08 Javascript
使用javascript为网页增加夜间模式
Jan 26 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
Apr 25 Javascript
javascript实现的HashMap类代码
Jun 27 Javascript
javascript点击按钮实现隐藏显示切换效果
Feb 03 Javascript
在AngularJS中使用jQuery的zTree插件的方法
Apr 21 Javascript
利用vue写todolist单页应用
Dec 15 Javascript
mac上node.js环境的安装测试
Jul 03 Javascript
简单实现jQuery上传图片显示预览功能
Jun 29 jQuery
微信小程序实现刷脸登录
May 25 Javascript
在vue中读取本地Json文件的方法
Sep 06 Javascript
node 解析图片二维码的内容代码实例
Sep 11 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
用文本文件制作留言板提示(上)
2006/10/09 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
php密码生成类实例
2014/09/24 PHP
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
javascript 进度条 实现代码
2009/07/30 Javascript
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
写js时遇到的一些小问题
2010/12/06 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
Javascript 编码约定(编码规范)
2018/03/11 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
详解Python中的序列化与反序列化的使用
2015/06/30 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
Python标准库inspect的具体使用方法
2017/12/06 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
2018/09/03 Python
python for循环输入一个矩阵的实例
2018/11/14 Python
python实现五子棋游戏
2019/06/18 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
常用的10个Python实用小技巧
2020/08/10 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
国际贸易专业个人求职信格式
2014/02/02 职场文书
幼儿园大班开学教师寄语
2014/04/03 职场文书
大专生找工作自荐书
2014/06/10 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
python blinker 信号库
2022/05/04 Python