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 相关文章推荐
window.onload 加载完毕的问题及解决方案(下)
Jul 09 Javascript
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
Mar 07 Javascript
js计算文本框输入的字符数
Oct 23 Javascript
js实现网页图片延时加载 提升网页打开速度
Jan 26 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
Feb 26 Javascript
AngularJS实践之使用NgModelController进行数据绑定
Oct 08 Javascript
bootstrap switch开关组件使用方法详解
Aug 22 Javascript
解决Webpack 热部署检测不到文件变化的问题
Feb 22 Javascript
vue中rem的配置的方法示例
Aug 30 Javascript
js实现表格单列按字母排序
Aug 12 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
Sep 09 Javascript
80行代码写一个Webpack插件并发布到npm
May 24 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
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
2017/08/10 PHP
laravel 中如何使用ajax和vue总结
2017/08/16 PHP
PDO::prepare讲解
2019/01/29 PHP
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
display和visibility的区别示例介绍
2014/02/26 Javascript
JavaScript程序员应该知道的45个实用技巧
2014/03/04 Javascript
Javascript基础知识(二)事件
2014/09/29 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
JavaScript中return用法示例
2016/11/29 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
Vue实现todolist删除功能
2018/06/26 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
200行python代码实现2048游戏
2019/07/17 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
使用sklearn对多分类的每个类别进行指标评价操作
2020/06/11 Python
深入分析python 排序
2020/08/24 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
高中生学习生活的自我评价
2013/10/09 职场文书
大学生求职简历的自我评价范文
2013/10/12 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
2016寒假假期总结
2015/10/10 职场文书
python爬取某网站原图作为壁纸
2021/06/02 Python
解决springboot druid数据库连接失败后一直重连的方法
2022/04/19 Java/Android