【问题标题】:ExtJS load data to Form from Store with associationExtJS 通过关联将数据从 Store 加载到 Form
【发布时间】:2014-06-03 00:41:25
【问题描述】:

我有一个表单,其中包含员工模型字段和人员模型字段。

员工模型

Ext.define('App.model.Employee', {
    extend: 'Ext.data.Model',
    fields: [{
            name: 'EmployeeId',
            type: 'int'
        },  
        {
            name: 'PersonId',
            type: 'int'
        },
        'EmployeeNumber',
        'JoinDate'
    ],  
    belongsTo: 'App.model.Person'
});

人物模型

Ext.define('App.mode.Person', {
    extend: 'Ext.data.Model',
    fields: [{
            name: 'PersonId',
            type: 'int'
        },  
        'FirstName',
        'LastName'
    ],
    hasMany: {
        model: 'App.model.Employee',
        name: 'Employees'
    }   
});

我的商店:

var store = Ext.create('Ext.data.Store', {
    model: 'App.model.Employee',
    autoLoad: false,
    autoSync: true,
    proxy: {
        type: 'ajax',
        api: {
            read: 'api/employee/getemployee'
        },
        reader: {
            type: 'json',
            successProperty: 'success',
            root: 'data',
            messageProperty: 'message'
        }
    }
});

这是我的真实 JSON

"data": [{
        "EmployeeId": 5,
        "PersonId": 1,
        "EmployeeNumber": 2001,
        "JoinDate" : "",
        "Person": {
            "PersonId": 1,
            "FathersLast": "SMITH",
            "FirstName": "JOHN"
        }
    }],

我的问题是我的 json 响应(来自服务器)应该如何构建才能成功加载存储?

【问题讨论】:

    标签: extjs extjs4 extjs4.1


    【解决方案1】:

    您可以在Ext data package guide“加载嵌套数据”部分找到解释和示例代码。其他示例在 Association documentation 的标题中。两者都带有显示所需结构的示例 JSON 文件。

    【讨论】:

      【解决方案2】:

      查看您的代码和 json 结构后,我可以识别出每个员工都有一个人员对象,因此您需要更正您的映射。而不是在人员模型中定义 hasMany 关系,您应该为员工中的人员定义 hasOne 关系。

      有一个:{ 型号:'App.mode.Person', 名称:“人” }

      请试试这个。你的 json 结构看起来不错。

      【讨论】:

        猜你喜欢
        • 2012-07-13
        • 2017-05-12
        • 2011-01-26
        • 2016-02-17
        • 2017-08-27
        • 1970-01-01
        • 2012-06-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多