当第一次点击showbutton,然后窗口打开完美,但当我关闭窗口,并再次打开这个,然后它给出错误(“无法读取属性'dom'的null“)行'shiftWindow.show();"任何帮助都是感激不尽的。
var shiftWindow = Ext.create('Ext.window.Window', {
title: 'Edit Shift',
resizable: false,
id: 'shiftwindow',
width: 465,
//bodyPadding: 5,
modal: true,
store: shiftStorePlanner,
items: {
xtype: 'form',
id: 'idFormShift',
bodyPadding: 10,
items: shiftViewModelPlannerData
},
buttons: [{
text: 'Save',
cls: 'planner-save-button',
overCls: 'planner-save-button-over',
handler: function () {
var wi = this.up('.window');
var form = Ext.getCmp('idFormShift');
if (form.isValid()) {
shiftTimemappingarray = [];
// getShiftTime();
setShiftTimeDetails();
}
}
}, {
text: 'Cancel',
handler: function () {
this.up('.window').close();
}
}]
});
shiftWindow.show();
3条答案
按热度按时间p8ekf7hl1#
如果在窗口上调用
close()
,窗口将被破坏。它不再存在于DOM中。在调用show()
之前,必须重新创建它。或者,您可以
hide()
该窗口,而不是关闭它。这样它将保留下来,不需要再创建一个。注意,右上角的'x'仍然会触发close事件。rbl8hiat2#
单击窗口的“取消”时,
而不是使用
您应该使用
因为只有这样,它才会破坏整个窗口,包括dom。所以每次你打开它,它都会新鲜。;)
c9x0cxw03#
也许你只是不像我一样在主体中定义div元素。