美文网首页
Extjs4 之Store使用

Extjs4 之Store使用

作者: 小苑小站 | 来源:发表于2018-08-14 12:38 被阅读0次

    store定义

    方法一 加载已经有的数据

    Ext.define('namespace.DemoStore', {
        extend: 'Ext.data.Store',
    
        model: 'namespace.DemoModel',
    
        autoLoad: false,
        data: []
    });
    

    方法二 远程加载数据

    Ext.define('namespace.DemoStore', {
        extend: 'Ext.data.Store',
    
        model: 'namespace.DemoModel',
        // 分组
        groupField: 'group',
    
        autoLoad: false,
        data: []
    
        // 上传时候携带的参数
        params: {
            para1:'',
            para2:''
        },
    
        proxy: {
            type: 'ajax',
    
            headers: { 'Content-Type': 'application/json;charset=UTF-8' },
            url: '请求链接',
    
            // 设置请求类型
            actionMethods: { read: "POST" },
    
            reader: {
                type: 'json',
                successProperty: 'status',//值取true或者false
                totalProperty: 'totalcount',
                root: 'data',
                getResponseData: function(response) {
                    try {
                        data = Ext.decode(response.responseText);
                        // 根据返回的结果数据处理成model中定义的数据类型结构
                        // do something you want
                        
                        return result;
                    } catch (ex) {
                        return this.getError(ex, error, this, response);
                    }
                }
            }
        },
    
        listeners: {
            beforeload: function(store, operation) {
                operation.params = Ext.encode(this.params);
            }
        }
    });
    

    store请求数据

    方法一:对应于上面store定义的方法一

    Ext.Ajax.request({
        url: '请求地址',
        headers: { 'Content-Type': 'application/json;charset=UTF-8' },
        method: 'post',
        scope: this,
        params: Ext.encode(params),// 请求需要携带的参数
        success: function(response, opts) {
            var responseResult = Ext.decode(response.responseText);
            var store = 上述定义的store
            // 中间处理步骤,最终获取到与store中model相匹配的数据格式
            // do something you want
            // 调用如下方法接在数据,第一个参数就是要加载的数据,第二个参数如果是ture则会保留以前的数据,为false则不会保留
            store.getStore().loadData(result, false);
        },
        failure: function() {
            
        },
        callback: function() {
            
        }
    });
    

    方法二:对应于上面的store定义的方法二

    var store = 上述定义的store
    store.load(function(records, operation, success) {
        if (success) {// 判断是否成功
            // do something you want
        }
    });
    

    相关文章

      网友评论

          本文标题:Extjs4 之Store使用

          本文链接:https://www.haomeiwen.com/subject/yuombftx.html