我通过单击带有代码的 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”会有这样的问题?
谢谢。