Comment afficher la boîte de message ExtJS avec les boutons personnalisés.
Je veux une boîte de message avec un message personnalisé et les boutons "Annuler" et "Désactiver". Veuillez donner une idée.
buttons: [{
text: "Cancel",
handler: function () {
Ext.MessageBox.hide();
//submitTicketForm();
}
},{
text: "Deactivate",
handler: function () {
Ext.MessageBox.hide();
}
}],
Je l'utilise comme ça, mais je ne reçois aucun bouton.
MessageBox est une instance unique d'une fenêtre gérée en interne utilisée pour les invites, les émissions, les alertes, etc.
Vous pouvez changer le buttonText en passant une chaîne pour show comme ceci:
buttons: {ok: "Foo", cancel: "Bar"}
Voir: MessageBox
buttons: {
ok: "Foo",
handler: function(){
Ext.MessageBox.hide();
},
cancel: "Bar",
handler: function(){
Ext.MessageBox.hide();
}
}
Dans ExtJS 4, vous pouvez créer votre propre composant comme ceci:
Ext.define('App.view.MyDialog', {
/**
* Shows the dialog.
*/
show: function() {
var dialog = Ext.create('Ext.window.MessageBox', {
buttons: [{
text: 'baz',
iconCls: 'icon-add',
handler: function() {
dialog.close();
}
}]
});
dialog.show({
title: 'foo!',
msg: '<p>bar?</p>',
icon: Ext.MessageBox.WARNING
});
dialog.setHeight(160);
dialog.setWidth(420);
}
});
puis:
var dialog = Ext.create('App.view.MyDialog');
dialog.show();
Utilisez 'buttonText' au lieu de 'button',
buttonText: {ok: 'Deactivate', cancel: 'Cancel'},
fn: function(btn) {
if (btn === 'ok') {
Ext.MessageBox.hide();
} else {
Ext.MessageBox.hide();
}
}
Dans ExtJS 4 et ExtJS 5, pour définir un texte personnalisé pour les boutons, vous devez utiliser les configs buttons
et buttonText
:
buttons: [{
Ext.Msg.OK
}],
buttonText: {
ok: "Custom text"
},
fn: function() {
// ...handle OK button
}