No se pueden acceder a los componentes de Modaldialog
Pregunta
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();
}});
No puedo entender cómo establecer el contenido de esto. $. ErrorMessage.
Si comento la línea que intenta establecer el contenido de esto. $. ErrorMessage, el diálogo se muestra correctamente con el contenido original. ¿Qué estoy haciendo mal?
Nota: alert(this.$.errorDialog)
pantallas enyo.ModalDialog
Como se esperaba, pero
alert(this.$.errorMessage)
pantallas undefined
. Esto es cierto para todos los demás componentes de this.$.errorMessage
también.
Solución
En realidad, edité mi respuesta:
Ese control no existirá mientras el cuadro de diálogo esté cerrado a menos que especifique perezoso: falso para el modaldialog. O puede hacer el .setContent () después del .openatcenter ()
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow