我觉得我可能把事情复杂化了。请随意派我到另一个方向。
我试图使用我的模型(键)中定义的字段,将一个只包含值的记录(值)数组加载到模型对象中。
我的模型
Ext.define('MyApp.model.AppData', {
extend: 'Ext.data.Model',
fields: [
{name: 'key'},
{name: 'value'},
{name: 'desc'},
{name: 'index', type: 'int'},
{name: 'type'}
]
});我的商店
Ext.define('MyApp.store.AppData', {
extend: 'Ext.data.ArrayStore',
groupField: 'type',
model: 'MyApp.model.AppData',
autoload: false,
constructor: function (config) {
var data = [
['val1', 'val2', 'val3', 'val4', 'val5'],
['val1', 'val2', 'val3', 'val4', 'val5'],
...
];
this.loadData(data);
}
});所以这里的最终目标是让我的数据在商店里看起来像
[
{'key':'val1', 'value':'val2', 'desc':'val3', 'index':'val4', 'type':'val5'},
{...},
{...}
]当前获取“me.removed是未定义的”错误。我知道它与loadData()函数有关。这让我觉得我在某个地方没有正确地使用这个。
我可以用键值对来硬编码数据.但这只是觉得无法维护和错误的方式来做到这一点。
谢谢!
发布于 2016-02-12 16:27:33
您只需使用存储的数据配置:
var myModel=Ext.define('MyApp.model.AppData', {
extend: 'Ext.data.Model',
fields: [
{name: 'key'},
{name: 'value'},
{name: 'desc'},
{name: 'index', type: 'int'},
{name: 'type'}
]
});
var myData = [
['val1', 'val2', 'val3', 0, 'val5'],
['val1', 'val2', 'val3', 1, 'val5']
];
var store = Ext.create('Ext.data.ArrayStore', {
model:myModel,
data:myData
});这是一个工作小提琴
https://stackoverflow.com/questions/35353322
复制相似问题