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



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

假设我们在服务器端有对象:

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
});

有没有办法配置数据存储中的字段以从用户那里检索所有字段,而无需像示例(名称、电话)这样的特定映射?我的意思是,我可以在字段属性中放置类似**的内容,该属性将表示数据存储,按原样映射检索到的所有字段,结果将是具有用户名,电话和地址的存储?

谢谢。

是的,可能有适当的代码狙击手可以帮助您

    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,

没有模型。

最新更新