Не могу получить доступ к компонентам Modaldialog

StackOverflow https://stackoverflow.com/questions/8803694

  •  26-10-2019
  •  | 
  •  

Вопрос

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 также.

Это было полезно?

Решение

На самом деле, я отредактировал свой ответ:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top