Не могу получить доступ к компонентам ModalDialog - PullRequest
1 голос
/ 10 января 2012
enyo.kind({
name: "TestDialog",
kind: enyo.VFlexBox,
components: [
    {kind: "ApplicationEvents", onLoad: "openDialog"},
    {kind: "ModalDialog", name: "errorDialog", caption: "Error!", components: [
        {kind: "HFlexBox", layoutKind: "HFlexLayout", pack: "center", components: [
            {content: "Oh no!", name: "errorMessage", style: "margin: 20px 0px;", className: "enyo-text-error warning-icon"}
        ]},
        {kind: "Button", caption: "OK", onclick: "closeErrorDialog"}
    ]}
],
openDialog: function() {
    this.$.errorMessage.setContent("This is a sample error message");
    this.$.errorDialog.openAtCenter();
}});

Я не могу понять, как установить содержимое этого. $. ErrorMessage.
Если я закомментирую строку, которая пытается установить содержимое этого. $. ErrorMessage, диалоговое окно отображается правильно с исходным содержимым. Что я делаю не так?

Примечание: alert(this.$.errorDialog) отображает enyo.ModalDialog, как ожидалось, но
alert(this.$.errorMessage) отображает undefined. Это верно и для всех других компонентов this.$.errorMessage.

1 Ответ

2 голосов
/ 10 января 2012

Собственно, я отредактировал свой ответ:

Этот элемент управления не будет существовать, пока диалоговое окно закрыто, если вы не укажете lazy: false для ModalDialog. Или вы можете сделать .setContent () после .openAtCenter ()

...