How to display ExtJS Message box with Custom buttons.
I want a Message box with a Custom message and "Cancel" and "Deactivate" Buttons. Please give some idea.
buttons: [{
text: "Cancel",
handler: function () {
Ext.MessageBox.hide();
//submitTicketForm();
}
},{
text: "Deactivate",
handler: function () {
Ext.MessageBox.hide();
}
}],
I am using it like this but not getting any buttons.
MessageBox is an single instance of an internally managed Window used for prompt, show, alert, etc.
You can change the buttonText by passing in a string for show like this:
buttons: {ok: "Foo", cancel: "Bar"}
Refer : MessageBox
buttons: {
ok: "Foo",
handler: function(){
Ext.MessageBox.hide();
},
cancel: "Bar",
handler: function(){
Ext.MessageBox.hide();
}
}
In ExtJS 4, you can make your own component like this:
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);
}
});
then:
var dialog = Ext.create('App.view.MyDialog');
dialog.show();
Use 'buttonText' instead of 'button',
buttonText: {ok: 'Deactivate', cancel: 'Cancel'},
fn: function(btn) {
if (btn === 'ok') {
Ext.MessageBox.hide();
} else {
Ext.MessageBox.hide();
}
}
In ExtJS 4 and ExtJS 5, to set custom text for buttons you need to use both buttons
and buttonText
configs:
buttons: [{
Ext.Msg.OK
}],
buttonText: {
ok: "Custom text"
},
fn: function() {
// ...handle OK button
}
来源:https://stackoverflow.com/questions/6261013/extjs-message-box-with-custom-buttons