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 相关文章推荐
Javascript学习笔记9 prototype封装继承
Jan 11 Javascript
jsp网页搜索结果中实现选中一行使其高亮
Feb 17 Javascript
jQuery选择器之基本选择器与层次选择器
Mar 03 Javascript
jquery实现超简洁的TAB选项卡效果代码
Aug 28 Javascript
jQuery入门之层次选择器实例简析
Dec 11 Javascript
JS实现Select的option上下移动的方法
Mar 01 Javascript
全面了解javascript中的错误处理机制
Jul 18 Javascript
js时间戳格式化成日期格式的多种方法介绍
Feb 16 Javascript
Vue中render方法的使用详解
Jan 26 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
Sep 26 Javascript
一文了解vue-router之hash模式和history模式
May 31 Javascript
JavaScript或jQuery 获取option value值方法解析
May 12 jQuery
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学习笔记(三)操作符与控制结构
2011/08/06 PHP
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
详解json在php中的应用
2018/09/30 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
HTML node相关的一些资料整理
2010/01/01 Javascript
jquery右下角弹出提示框示例代码
2013/10/08 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
js判断浏览器是否支持html5
2014/08/17 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
2014/11/19 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
javascript 组合按键事件监听实现代码
2017/02/21 Javascript
switchery按钮的使用方法
2017/12/18 Javascript
vue-cli脚手架引入图片的几种方法总结
2018/03/13 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
2018/05/03 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
vue通过数据过滤实现表格合并
2020/11/30 Javascript
0基础学习前端开发的一些建议
2020/07/14 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
Python3实现的简单验证码识别功能示例
2018/05/02 Python
浅谈python中get pass用法
2019/03/19 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
安装并免费使用Pycharm专业版(学生/教师)
2020/09/24 Python
python实现录音功能(可随时停止录音)
2020/10/26 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
助人为乐表扬信范文
2014/01/14 职场文书
研究生简历自我评价范文
2014/09/13 职场文书
领导班子四风对照检查材料范文
2014/09/27 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
八年级物理教学反思
2016/02/19 职场文书
selenium.webdriver中add_argument方法常用参数表
2021/04/08 Python
Django+Celery实现定时任务的示例
2021/06/23 Python