簡體   English   中英

如何在Ext.Msg中更改按鈕順序?

[英]How to change button order in Ext.Msg?

我有一個要顯示在我的應用程序中的MessageBox,並且指定“是”按鈕必須在右側。 如何更改YESNOCANCEL順序? (也許在取消的情況下 ?)

這是我的實際代碼:

Ext.Msg.show({
             title: 'myTitle',
             msg: 'myMessage',
             buttonText : {
                 cancel : 'Cancel',
                 yes : 'Yes'
             },
             fn: function(btn) {
                 if(btn == 'yes') {
                     dodat(); 
                 }
             }
        });   

Ext.Msg是單例,因此與正常組件相比,它具有奇數的生命周期。 這意味着下面的代碼可能應該在Ext.onReady或App創建的早期執行。 這也將更改應用程序中所有警報的按鈕順序,因為Ext.Msg是單例的:

var msgButtonBar = Ext.Msg.down("toolbar");
var okButton = msgButtonBar.items.items[0];
var yesButton = msgButtonBar.items.items[1];
var noButton = msgButtonBar.items.items[2];
var cancelButton = msgButtonBar.items.items[3];
msgButtonBar.removeAll(false);
msgButtonBar.add([cancelButton, noButton, yesButton, okButton]);

基本上,它只是對Singleton中的按鈕重新排序。

我建議不要弄亂Ext.MessageBox單例,而只是使用您選擇的buttons配置創建Ext.Window的自定義擴展。

實際上,只是使窗口看起來像消息框一樣,只是一些小的配置。 就像是:

var msgBox = new Ext.Window({
    width: 300,
    height: 150,
    buttons: [{ text: 'Cancel', handler...}, { text: 'Yes', handler...}],
    title: 'Alert',
    modal: true|false,
    html: 'Are you sure?'
});
msgBox.show();

如果樣式不夠完美,您甚至可以在此窗口配置中添加“ ext-mb-dialog”或任何類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM