有没有办法让数据存储创建一个包含从服务器检索的所有字段的模型?
假设我们在服务器端有对象:
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 属性中添加类似 ** 的内容,该属性会对数据存储区进行映射,按原样映射检索到的所有字段,结果将是一个包含用户名的存储区,电话和地址?
谢谢。
最佳答案
是的,可能有正确的代码片段可以帮助您
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
});
代码位于 initComponent 中:
您的商店:
extend: 'Ext.data.Store',
//model: null,
没有模型。
关于Extjs 4.2.1 - 数据存储从服务器加载所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27686963/