1
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();
}});

我不知道如何设置 this.$.errorMessage 的内容。
如果我注释掉试图设置 this.$.errorMessage 内容的行,对话框会正确显示原始内容。我究竟做错了什么?

注意:按预期alert(this.$.errorDialog)显示,但显示. 对于所有其他组件也是如此。enyo.ModalDialog
alert(this.$.errorMessage)undefinedthis.$.errorMessage

4

1 回答 1

2

实际上,我编辑了我的答案:

对话框关闭时该控件将不存在,除非您为 ModalDialog 指定lazy: false。或者您可以在 .openAtCenter() 之后执行 .setContent()

于 2012-01-10T19:17:23.567 回答