ExtJS中store公共加载方法

来源:互联网 发布:一骑当千动作数据 编辑:程序博客网 时间:2024/06/06 01:56

在sencha touch中这样使用这个公共方法没有问题.

 //加载stroe
        storeLoad: function (list, params, callback) {
            var store = list.getStore();
            if (params) {
                var oldParams = store.getProxy().getExtraParams();
                if (!this.equals(oldParams, params)) {
                    store.setProxy({
                        extraParams: params
                    });
                    store.load();
                } else {
                    return;
                }
            } else if (store.getCount() > 0) {
                return
            }
            store.loadPage(1, {
                callback: function (records, operation, success) {
                    if (records.length == 0) {
                        list.setEmptyText('没有获取到内容');
                    }
if(callback){
callback(records, operation, success)
}
                },
                scope: this
            });

        }

但在ExtJS中就会出现图片中的错误。

解决方法如下修改:

//加载stroe
        storeLoad: function (list, params, callback) {
            var store = list.getStore();
console.log("store", store);
            if (params) {
                var oldParams = store.getProxy().getExtraParams();
console.log("oldParams",oldParams);
                if (!Ext.Object.equals(oldParams, params)) {
Ext.apply(store.getProxy().extraParams, params);
                    store.load();
                } else {
                    return;
                }
            } else if (store.getCount() > 0) {
                return
            }
            store.loadPage(1, {
                callback: function (records, operation, success) {
                    if (records.length == 0) {
                        list.setEmptyText('没有获取到内容');
                    }
if(callback){
callback(records, operation, success)
}
                },
                scope: this
            });
        }

1 0
原创粉丝点击