Окно сообщения ExtJs с пользовательскими кнопками
Как отобразить окно сообщения ExtJS с помощью пользовательских кнопок.
Мне нужно окно сообщения с пользовательским сообщением и кнопками" Отмена "и" деактивация". Пожалуйста, дайте хоть какое-то представление.
buttons: [{
text: "Cancel",
handler: function () {
Ext.MessageBox.hide();
//submitTicketForm();
}
},{
text: "Deactivate",
handler: function () {
Ext.MessageBox.hide();
}
}],
Я использую его так, но не получаю никаких кнопок.
4 ответов
MessageBox-это единственный экземпляр внутренне управляемого окна, используемого для приглашения,показа, оповещения и т. д.
вы можете изменить buttonText, передав строку для показа следующим образом:
buttons: {ok: "Foo", cancel: "Bar"}
см. : MessageBox
buttons: {
ok: "Foo",
handler: function(){
Ext.MessageBox.hide();
},
cancel: "Bar",
handler: function(){
Ext.MessageBox.hide();
}
}
в ExtJS 4 Вы можете сделать свой собственный компонент следующим образом:
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);
}
});
затем:
var dialog = Ext.create('App.view.MyDialog');
dialog.show();
используйте 'buttonText' вместо 'button',
buttonText: {ok: 'Deactivate', cancel: 'Cancel'},
fn: function(btn) {
if (btn === 'ok') {
Ext.MessageBox.hide();
} else {
Ext.MessageBox.hide();
}
}
в ExtJS 4 и ExtJS 5, чтобы установить пользовательский текст для кнопок, вам нужно использовать оба buttons
и buttonText
конфигурация:
buttons: [{
Ext.Msg.OK
}],
buttonText: {
ok: "Custom text"
},
fn: function() {
// ...handle OK button
}