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