2013-07-25 66 views
2

我有一個MessageBox在我的應用程序中顯示,並且指定'YES'按鈕必須位於右側。我怎麼可以改變訂單號YESNOCANCEL? (在CANCELNOYES一個也許?)如何更改Ext.Msg中的按鈕順序?

這裏是我的實際代碼:

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

回答

6

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]); 

它基本上只是重新排序在辛格爾頓的按鈕。

+0

另外,請記住,此代碼應該只在您的整個應用程序中執行一次。 – Reimius

+0

謝謝;)它的作品就像一個魅力!我希望我可以提出你的答案,但我沒有獲得聲譽:/ – Yobac

0

我建議不要搞亂Ext.MessageBox單身人士,而只需創建一個自定義擴展Ext.Window,並配置您選擇的buttons配置。

這實際上只是一些小配置,使窗口看起來像它的消息框。喜歡的東西:

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-對話」,或任何類,該窗口配置。

相關問題