存储添加-不工作

store add - does not work

本文关键字:工作 添加 存储      更新时间:2023-09-26

我有一个简单的网格,看起来像这样:

{
    xtype: "grid",
    columns: [{
        header: 'Title', flex: 1, dataIndex: 'Title'
    }],
    store: Ext.create('Ext.data.Store', {
        fields:['id', 'Title']
    })
}

我有一个函数(附加到一个按钮),我相信,应该用一些数据填充这个网格。它是这样做的:

grid.store.removeAll();
records = [{"id":"1", "Title", "Hello world"}];
grid.store.add(records);
grid.store.load();
console.log(grid.store.getCount());

但是由于一些疯狂的原因,商店是空的,grid.store.getCount()返回"0"。到底发生了什么事?PS.我用的是ExtJS 6.

编辑

然而,如果我稍微改变一下我的代码:

...
store: Ext.create('Ext.data.Store', {
    autoLoad: false,
    fields:['id','Title'],
    data:[{"id": 1,"Title": "Hello world"}]
})
...
//and in function just one line of code:
grid.store.load();

则开始工作。所以,似乎所有的问题都出在store.add上。

删除grid.store.load()

load将存储标记为需要加载,但如果您使用add添加记录,则不是您需要的。

工作示例:https://fiddle.sencha.com/#fiddle/1fbv