欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Extjs优化(一)删除冗余代码提高运行速度

程序员文章站 2022-03-07 16:58:01
extjs 本身是一个加载慢的js框架,这个需要程序员的多去优化,之前说过了js的打包的优化 这次来写写怎么减少冗余代码,也是提高运行速度,包含了1、删除代码通用2、提交表...
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'
});