Javascript ExtJS emptyText没有在Ext.grid.Panel上显示

时间:2015-06-18 20:34:10

标签: javascript extjs

外部4.2中的空文本似乎没有显示Ext.grid.Panel

我可以在这里使用javascript编辑器进行演示:http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.Panel

只需删除商店的data配置,然后在第一个示例中为面板添加emptyText配置。它应该是这样的:

Ext.create('Ext.data.Store', {
    storeId:'simpsonsStore',
    fields:['name', 'email', 'phone'],
    //No data here
    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            root: 'items'
        }
    }
});

Ext.create('Ext.grid.Panel', {
    title: 'Simpsons',
    emptyText: 'Test Empty Text', //Add emptyText
    store: Ext.data.StoreManager.lookup('simpsonsStore'),
    columns: [
        { text: 'Name',  dataIndex: 'name' },
        { text: 'Email', dataIndex: 'email', flex: 1 },
        { text: 'Phone', dataIndex: 'phone' }
    ],
    height: 200,
    width: 400,
    renderTo: Ext.getBody()
});

请注意,一旦您点击NameEmailPhone,一旦网格排序, 就会显示。

这是一个Ext bug吗?我怎样才能解决这个问题,以便在不必先对面板进行排序的情况下显示emptyText?

1 个答案:

答案 0 :(得分:3)

不,这是一个功能。关键是在网格加载数据时不显示空文本,因为尚不知道是否有数据。

当数据全部是本地时,不需要该功能,因此只需将以下内容添加到网格配置中:

viewConfig: {
    deferEmptyText: false
}