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执行顺序
Nov 09 Javascript
ExtJs grid行 右键菜单的两种方法
Jun 19 Javascript
将string解析为json的几种方式小结
Nov 11 Javascript
document.createElement()用法
Mar 13 Javascript
深入探密Javascript数组方法
Jan 08 Javascript
深入浅析react native es6语法
Dec 09 Javascript
第一章之初识Bootstrap
Apr 25 Javascript
实用又漂亮的BootstrapValidator表单验证插件
May 30 Javascript
js控制台输出的方法(详解)
Nov 26 Javascript
vue实现手机号码抽奖上下滚动动画示例
Oct 18 Javascript
浅谈React前后端同构防止重复渲染
Jan 05 Javascript
layui 实现table翻页滚动条位置保持不变的例子
Sep 05 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错误类型及屏蔽方法
2017/05/27 PHP
laravel-admin的多级联动方法
2019/09/30 PHP
PHP 8新特性简介
2020/08/18 PHP
JavaScript 对象模型 执行模型
2010/10/15 Javascript
jQuery的初始化与对象构建之浅析
2011/04/12 Javascript
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
THREE.JS入门教程(6)创建自己的全景图实现步骤
2013/01/25 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
深入剖析JavaScript中的函数currying柯里化
2016/04/29 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
JS无缝滚动效果实现方法分析
2016/12/21 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
jquery+css实现下拉列表功能
2017/09/03 jQuery
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
Python中音频处理库pydub的使用教程
2017/06/07 Python
在cmd命令行里进入和退出Python程序的方法
2018/05/12 Python
python不同系统中打开方法
2020/06/23 Python
HTML5 SEO优化的一些建议
2020/08/27 HTML / CSS
全球领先美式家具品牌:Ashley爱室丽家居
2017/08/07 全球购物
面向对象设计的原则是什么
2013/02/13 面试题
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
电子商务专业个人的自我评价分享
2013/10/29 职场文书
自动化职业生涯规划书范文
2014/01/03 职场文书
怎样写好自我评价呢?
2014/02/16 职场文书
《观舞记》教学反思
2014/04/16 职场文书
党员学习正风肃纪思想汇报
2014/09/12 职场文书
会议通知范文
2015/04/15 职场文书
遗愿清单观后感
2015/06/09 职场文书
安全教育主题班会教案
2015/08/12 职场文书
Python中使用ipython的详细教程
2021/06/22 Python