Отображать ModalDialog при загрузке окна Enyo

Я пытаюсь отобразить ModalDialog, как только окно загружается, что-то вроде лицензионного соглашения для моего приложения. Кажется, он отлично работает при нажатии кнопки, но не работает, когда я пытаюсь это сделать:

Это в массиве компонентов моего вида VFlexBox:

{ name: "theDialog", kind: "ModalDialog", components: [
    { content: "This is a Dialog Box" },
    { layoutKind: "HFlexLayout", pack: "center", components: [
    { name: "okayButton", kind: "Button", caption: "Okay" },
    { name: "closeButton", kind: "Button", caption: "Close" }
    ]}
]}

И здесь я пытаюсь показать диалог.

create: function() {
   this.inherited(arguments);
   this.$.theDialog.openAtCenter();
}

Если бы я разместил this.$.theDialog.openAtCenter(); внутри обработчика события onclick кнопки он работает абсолютно нормально.


person Bhakta Nall    schedule 01.09.2011    source источник


Ответы (1)


Вы пытались разместить this.$.theDialog.openAtCenter(); внутри визуализированного()

Что-то вроде этого:

rendered: function() {
     this.$.theDialog.openAtCenter();
}

Поскольку тип "Control" должен вызываться при создании элемента пользовательского интерфейса и, следовательно, должен вызываться openAtCenter.

person Vivek    schedule 01.09.2011
comment
Это сработало чудесно. Однако я изменил логику своего приложения, поэтому в этом больше нет необходимости. Впрочем, я это запомню. - person Bhakta Nall; 03.09.2011