窗口closeAction错误

时间:2012-04-17 06:29:19

标签: extjs

我通过单击带有代码的actioncolumn图标创建一个带有ExtJS 4的窗口:

{
        xtype:'actioncolumn',
        width: 20,
        items: [
            {
                tooltip: 'Log',
                icon: '/img/details.gif',
                handler: function(grid, rowIndex) {

                    var store = grid.getStore();

                    var record = store.getAt(rowIndex);

                    var ba = Ext.createByAlias('widget.ba');

                    ba.setTitle(ba.title + record.get('name'));

                    ba.down('grid').getStore().load({
                        params:{
                            id: record.get('id'),
                        },
                    });

                    ba.show();

                },

            },
        ]
    },

我的窗口有“closeAction:'destroy'”:

Ext.define('BB.view.Ba', {

    extend: 'Ext.window.Window',
    alias: 'widget.ba',
    title: 'Log ',
    layout: 'fit',
    width: 500,
    closeAction: 'destroy',
    items: {
            xtype: 'gridpanel',
            store: 'Bas',
            selType: 'rowmodel',
            columns: [
                {
                    dataIndex: 'order_id',
                    width: 60,
                    text: 'order id',
                }, {
                    dataIndex: 'time',
                    width: 100,
                    text: 'time',
                }, {
                    dataIndex: 'summ',
                    width: 80,
                    text: 'summ',
                    renderer: function(value) {
                        return value.toFixed(2); 
                    },
                }, {
                    dataIndex: 'comment',
                    width: 220,
                    text: 'comment',
                },
            ],
            //bbar: Ext.createByAlias('widget.paging'),           

        },



});

如您所见,窗口由别名“widget.ba”调用。

所以,当我第一次点击actioncolumn图标时,如果我关闭那个窗口(点击窗口右上角的“交叉”)并再次单击actioncolumn图标,我会看到“未捕获的TypeError:不能在控制台日志中读取未定义的属性'style',它将被抛出“ba.show();”脚本行。窗口没有显示,但是在其他点击图标窗口渲染后,但它实际上不是一个窗口,它被渲染为视口的简单面板。

为什么“closeAction”设置为“destroy”会出现这样的问题?

感谢。

1 个答案:

答案 0 :(得分:0)

我发现了问题。窗口在视口中渲染,因为非常长的网格正在向下移动Viewport的底部。