Die einfachste Lösung ist nur ein Fenster zu erstellen. Wie Evan im Kommentar sagte, ist die MessageBox nur ein Ext.window.Window
ein wenig mehr Breite ..
a Hier ist ein Beispiel Definition fiddle
arbeiten:
Ext.define('MyApp.view.Login', {
extend: 'Ext.window.Window',
height: 220,
width: 490,
layout: 'fit',
modal: true,
buttonAlign: 'left',
closable: false,
items: [
{
xtype: 'form',
frame: false,
border: 0,
layout: {
type: 'hbox',
align: 'middle'
},
fieldDefaults: {
msgTarget: 'side',
labelWidth: 55
},
items: [
{
xtype: 'container',
flex: 1,
padding: 10,
layout: {
type: 'vbox',
align: 'stretch'
},
items: [
{
xtype: 'textfield',
name: 'username',
fieldLabel: 'Username',
allowBlank: false,
flex: 1
},
{
xtype: 'textfield',
name: 'password',
fieldLabel: 'Password',
inputType: 'password',
allowBlank: false,
flex: 1
}
]
}
]
}
],
buttons: [
{
text: 'Login',
handler: function() {
Ext.Msg.alert('This is not yet implemented.').show();
}
}
]
});
Dann können Sie einfach erstellen und zeigen die Fenster:
Ext.create('MyApp.view.Login').show();
+1, ist die messagebox nur ein 'Ext .window.Window' mit einigen benutzerdefinierten Elementen. –
Dies ist der bevorzugte Weg zu gehen. –
Große Antwort. Um das Fenster beim Klicken auf die Schaltfläche zu schließen, verwenden Sie 'this.up ('window'). Close();' im Button-Handler. –