Как предотвратить автоматическое изменение размера dijit.dialog, содержащего форму dijit? - PullRequest
2 голосов
/ 16 ноября 2011

У меня есть 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() и показывает его) -

1 Ответ

1 голос
/ 17 ноября 2011

Я провел небольшое исследование нескольких часов по этому вопросу и нашел след.

При изменении размера окна оно пытается вызвать Form.resize(), ожидая, что форма вызовет resize в своемдети.Но поскольку форма не является виджетом макета, ничего не происходит.Я переопределил resize() формы (ничего не делать!), Ошибка, кажется, исчезла.

Я до сих пор не уверен, что у меня есть полное решение (ведь переопределение не способ исправить).Если у кого-то есть лучшее объяснение / решение, пожалуйста, просветите меня.Благодарю.

...