【Extjs 优化一】 删除代码优化

来源:互联网 发布:内存数据库 编辑:程序博客网 时间:2024/05/17 02:29

Extjs 本身是一个加载慢的JS框架,这个需要程序员的多去优化,之前说过了JS的打包的优化 http://blog.csdn.net/dracotianlong/article/details/8547082


这次来写写怎么减少冗余代码,也是提高运行速度,包含了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'        });



原创粉丝点击