全局存储中的硬编码数据不会显示在extjs网格

时间:2015-10-09 16:43:22

标签: javascript extjs extjs6-classic

我有一个extjs全球商店,我有硬编码的字段和数据:

Ext.define('Registration.store.SavedSessions',{
    extend: 'Ext.data.Store',
    storeId: 'savedsessions',

    fields:[
    "id",
    "title",
    "dateStart"
    ],

    data: [
        {
            id: 1,
            title: 'test',
            dateStart: new Date()
        }
    ]

});

全局商店通过Application.js文件注册:

Ext.define('Registration.Application', {
    extend: 'Ext.app.Application',

    name: 'Registration',

    stores: [
        'SavedSessions'
    ],
    ...

我还有一个网格,我正在尝试将商店加载到:

Ext.define("Registration.view.cart.savedsessions.SavedSessions",{
    extend: "Ext.grid.Panel",

    xtype: 'savedsessions',

    store: Ext.data.StoreManager.lookup('savedsessions'),

    columns:[
        {
            text: 'Date',
            dataIndex: 'dateStart'
        },
        {
            text: 'Title',
            dataIndex: 'title',
            flex: 1
        }
    ]
});

查看文档,这看起来都是正确的。我遇到的问题是商店没有加载。

当我打开javascript控制台并计算网格商店中的记录数时,我得到0:

store from the grid

考虑到数据被硬编码到商店中,我不确定这是怎么发生的。

此外,当我直接从javascript控制台获取商店时,我可以获得硬编码数据:

store grabbed directly in js console

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

为什么要使用StoreManager来获取store?只需使用storeId

即可
store: 'savedsessions',