Extjs 4.2.1 - 数据存储从服务器加载所有字段

时间:2014-12-29 10:18:20

标签: extjs extjs4 datastore

有没有办法让数据存储创建一个包含从服务器检索到的所有字段的模型?

让我们说服务器端有一个对象:

User : {
    name: "...",
    phone: "...",
    Address: {
        street: "...",
        country: "...",
    },
    ...
    ...
}

我们使用以下商店加载此用户:

var myStore = Ext.create('Ext.data.Store', {
 proxy: {
     type: 'ajax',
     url: '...',
     reader: {
         type: 'json',
         root: 'users'
     }
 },
 fields :[name, phone],
 autoLoad: true
});

有没有办法配置数据存储区内的字段来检索用户的所有字段而没有像示例(名称,电话)这样的特定映射?我的意思是,我可以在 fields 属性中添加类似**的内容,这些属性将对数据存储区说明,映射检索到的所有字段,结果将是具有用户名称的商店,电话和地址?

感谢。

1 个答案:

答案 0 :(得分:2)

是的,有可能有适当的代码snipet可以帮助你

    var fields = [];


     Ext.each(me.dataFromServer, function (record) {
         fields.push({
             name: record.fieldName
         });

      });

    var myModel =  Ext.define('myModelName',{
         extend: 'Ext.data.Model',
        idProperty: 'id', //some field
         fields: fields
     });

我们的商店看起来像这样

me.store = Ext.create('yourStore',{
         model: myModel
     });

和thic代码位于initComponent:

您的商店:

extend: 'Ext.data.Store',
//model: null,

没有模特。