问题
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.
回答1:
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();
}
}
回答2:
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();
回答3:
Use 'buttonText' instead of 'button',
buttonText: {ok: 'Deactivate', cancel: 'Cancel'},
fn: function(btn) {
if (btn === 'ok') {
Ext.MessageBox.hide();
} else {
Ext.MessageBox.hide();
}
}
回答4:
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