当第一次点击showbutton然后窗口完全打开但是当我关闭窗口并再次打开它然后它给出错误("无法读取属性' dom' of null")on line' 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();
答案 0 :(得分:1)
如果您在窗口上调用close()
,窗口将被销毁。它不再存在于DOM中。在调用show()
之前,您必须再次创建它。
或者,您可以hide()
窗口,而不是关闭它。然后它将保留,不需要另一个创建。请注意,右上方的“x”仍会触发关闭事件。
答案 1 :(得分:0)
点击取消点击你的窗口,
而不是使用
this.up('.window').close();
你应该使用
this.up('.window').destroy();
因为那时它只会破坏整个窗口,包括dom。因此,每当你打开它,它都将是新的......;)
答案 2 :(得分:0)
也许您只是没有像我一样在体内定义div元素。
<div id="helloWorldPanel">
</div>