Показать ModalDialog при загрузке окна Enyo - PullRequest
3 голосов
/ 01 сентября 2011

Я пытаюсь отобразить 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 кнопки он работает абсолютно нормально.

1 Ответ

5 голосов
/ 01 сентября 2011

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

Примерно так:

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

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

...