web-dev-qa-db-fra.com

Boîte de message ExtJs avec boutons personnalisés

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.

18
MNR

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

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();
16
Tower

Utilisez 'buttonText' au lieu de 'button',

buttonText: {ok: 'Deactivate', cancel: 'Cancel'},
fn: function(btn) {
    if (btn === 'ok') {
        Ext.MessageBox.hide();
    }  else {
        Ext.MessageBox.hide(); 
    } 
}
2
Jeff Johny

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
}
0
endriju