カスタムボタンでExtJSメッセージボックスを表示する方法。
カスタムメッセージと「キャンセル」および「非アクティブ化」ボタンのあるメッセージボックスが必要です。アイデアを教えてください。
buttons: [{
text: "Cancel",
handler: function () {
Ext.MessageBox.hide();
//submitTicketForm();
}
},{
text: "Deactivate",
handler: function () {
Ext.MessageBox.hide();
}
}],
私はこのように使用していますが、ボタンがありません。
MessageBoxは、プロンプト、表示、アラートなどに使用される内部管理ウィンドウの単一インスタンスです。
次のようなshowの文字列を渡すことで、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();
'button'の代わりに 'buttonText'を使用します。
buttonText: {ok: 'Deactivate', cancel: 'Cancel'},
fn: function(btn) {
if (btn === 'ok') {
Ext.MessageBox.hide();
} else {
Ext.MessageBox.hide();
}
}
ExtJS4およびExtJS5では、ボタンのカスタムテキストを設定するには、buttons
とbuttonText
の両方の構成を使用する必要があります。
buttons: [{
Ext.Msg.OK
}],
buttonText: {
ok: "Custom text"
},
fn: function() {
// ...handle OK button
}