我通过单击带有代码的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”会出现这样的问题?
感谢。
答案 0 :(得分:0)
我发现了问题。窗口在视口中渲染,因为非常长的网格正在向下移动Viewport的底部。