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
的所有其他组件也是如此。
答案 0 :(得分:2)
实际上,我编辑了我的答案:
除非您为ModalDialog指定 lazy:false ,否则在关闭对话框时该控件将不存在。或者你可以在.openAtCenter()
之后执行.setContent()