0

我通过单击带有代码的 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'),           

        },



});

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

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

为什么如果“closeAction”设置为“destroy”会有这样的问题?

谢谢。

4

1 回答 1

0

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

于 2012-04-17T06:42:19.483 回答