如何将以下记录(从警报中)添加到Ext.data.ArrayStore中?注释掉的代码(在newStore赋值中)显示了最初在商店中设置的数据并且似乎有效。循环中的代码显示了我尝试过的不起作用的内容。
var newStore = new Ext.data.ArrayStore({
fields: [
'id',
'value'
]
//data: [[1, 'x'], [2, 'y']]
});
//alert(records.toSource());
Ext.each(records, function(rec) {
alert(rec.get('id') + ' ... ' + rec.get('value'));
//newStore.data.add(rec);
//Ext.apply(newStore, rec);
});
答案 0 :(得分:3)
.add()
期待一个记录对象。如果Ext.each()
中的对象采用
{
id:"~~",
value:"~~"
}
只需调用newStore.add(rec);
即可。
如果不是,你需要通过这样的方式建立一个psudo记录:
Ext.each(records,function(rec){
newStore.add({id:rec.id,value:rec.value});
}
这是一个工作示例的小提琴
答案 1 :(得分:0)
var arrayData = [
['Jay Garcia', 'MD'],
['Aaron Baker', 'VA'],
['Susan Smith', 'DC'],
['Mary Stein', 'DE'],
['Bryan Shanley', 'NJ'],
['Nyri Selgado', 'CA']
];
var store = Ext.create('Ext.data.ArrayStore', {
data : arrayData,
fields : ['personName', 'state']
});
console.log(store.first().data)