我的dijit.dialog
包含模板form
。当对话框可见并且我调整窗口大小时,表单高度会降低(即使我增大/减小窗口大小)。是什么导致了这种奇怪的行为以及如何预防?
感谢。
代码: @ LoginForm.html -
<form data-dojo-attach-point="containerNode"
data-dojo-attach-event="onreset:_onReset, onsubmit:_onSubmit">
..
..
</form>
@ LoginForm.js -
dojo.declare("LoginForm", [dijit.form.Form], {
widgetsInTemplate: true,
templateString: dojo.cache('template/LoginForm.html'),
name: 'Login',
'class': 'loginForm',
'context': {'message':'hello'},
action: '/authenticate',
method: 'POST',
onSubmit: function(event) {
// something here
},
postCreate: function(){
//
},
startup: function(){
this.inherited(arguments);
}
});
@ index.html(这在浏览器上显示,调用LoginForm.js,创建窗口小部件的实例,将其放在dojo.body()
并显示它) -
答案 0 :(得分:1)
我做了几个小时的研究,发现了一条痕迹。
调整窗口大小时,它会尝试调用Form.resize()
,希望表单会在其子项上调用resize
。但由于Form不是布局小部件,所以没有任何反应。我覆盖了表格的resize()
(什么都不做!)这个小虫似乎消失了。
我仍然不确定我是否有完整的解决方案(毕竟覆盖不是一种修复方法)。如果有人有更好的解释/解决方案,请赐教。 谢谢。