【问题标题】:Extjs store does not load dataExtjs 存储不加载数据
【发布时间】:2013-08-25 05:19:17
【问题描述】:

您好,我有绑定到组合框的商店。当我向组合框添加值时,它开始加载数据。响应中正确返回了所有 json 数据,但没有加载记录来存储。有什么建议吗?

我的商店看起来像:

    CheckersStore = Ext.extend(Ext.data.JsonStore, {
    constructor : function(cfg) {
        cfg = cfg || {};
        CheckersStore.superclass.constructor.call(this, Ext.apply({
            storeId : 'CheckersStore',
            api :{
                read : 'checker/getPagedList'
            },
            baseParams : {
                organizationId : 0
            },
            idProperty : 'userName',
            fields : [ {
                mapping : 'userName',
                name : 'value'
            }, {
                mapping : 'fullName',
                name : 'label'
            }, {
                name : 'organizationId',
                type : 'int'
            } ]
        }, cfg));
    }
});
new CheckersStore();

返回的 JSON 数据如下所示:

{
"start" : 0,
"limit" : 20,
"total" : 48,
"data" : [{
        "userName" : "KUUJOMAR",
        "fullName" : "Kuujo, Marketta Päivi",
        "organizationId" : 108
    }, {
        "userName" : "KUUKKKAL",
        "fullName" : "Kuukka, Kalle",
        "organizationId" : 108
    }
],
"organizationId" : 108

}

即使我只是尝试使用相同的参数调用store.load(),也会出现同样的问题。

【问题讨论】:

    标签: javascript extjs combobox store


    【解决方案1】:

    尝试去掉字段中的mapping 属性。然后在店铺内添加root: 'data'reader

    reader: {
        root: 'data',
        type: 'json'
    }
    

    和字段:

    fields : [{
        name : 'value'
    }, {
        name : 'label'
    }, {
        name : 'organizationId',
        type : 'int'
    }]
    

    【讨论】:

    • 我的延迟加载组合需要映射属性才能正确显示字段值
    猜你喜欢
    • 1970-01-01
    • 2016-04-04
    • 2013-02-22
    • 2013-02-12
    • 2011-07-02
    • 2015-08-18
    • 1970-01-01
    • 2012-02-14
    • 2015-04-22
    相关资源
    最近更新 更多