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创建优美的页面滑动块效果 - Glider.js
Sep 27 Javascript
jQuery学习笔记之控制页面实现代码
Feb 27 Javascript
javascript scrollTop正解使用方法
Nov 14 Javascript
jquery操作 iframe的方法
Dec 03 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
Aug 30 Javascript
VueJs与ReactJS和AngularJS的异同点
Dec 12 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
Feb 07 Javascript
JS基于onclick事件实现单个按钮的编辑与保存功能示例
Feb 13 Javascript
jquery ajax加载数据前台渲染方式 不用for遍历的方法
Aug 09 jQuery
layuiAdmin循环遍历展示商品图片列表的方法
Sep 16 Javascript
在js文件中引入(调用)另一个js文件的三种方法
Sep 11 Javascript
Vue实现购物车基本功能
Nov 08 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函数)
2006/10/09 PHP
Dedecms常用函数解析
2008/02/01 PHP
定义php常量的详解
2013/06/09 PHP
PHP实现的简单日历类
2014/11/29 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
WordPress网站性能优化指南
2015/11/18 PHP
yii2中使用Active Record模式的方法
2016/01/09 PHP
保证JavaScript和Asp、Php等后端程序间传值编码统一
2009/04/17 Javascript
围观tangram js库
2010/12/28 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
用jquery写的一个万年历(自写)
2014/01/20 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
javascript中异常处理案例(推荐)
2016/10/03 Javascript
Bootstrap基本插件学习笔记之折叠(22)
2016/12/08 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
解决VUE中document.body.scrollTop为0的问题
2018/09/15 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
Python实现Logger打印功能的方法详解
2017/09/01 Python
django settings.py 配置文件及介绍
2019/07/15 Python
使用Python文件读写,自定义分隔符(custom delimiter)
2020/07/05 Python
python实现扫雷游戏的示例
2020/10/20 Python
如何在Canvas中添加事件的方法示例
2019/05/21 HTML / CSS
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
人力资源部副职的竞聘演讲稿
2014/01/07 职场文书
相亲大会策划方案
2014/06/05 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
python异步的ASGI与Fast Api实现
2021/07/16 Python
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技