6
Ext.MessageBox.show({
    title:'Messagebox Title',
    msg: 'Are you sure want to delete?',
    buttons: {yes: "Some Button 1",no: "Some Button 2",cancel: "Some Button 3"}
});

ExtJS 4 または 4.1 は、このコードをサポートしていません。ボタンは表示されません。

4

4 に答える 4

19

これを行う方法を見つけただけで、うまくいけば誰かに役立ちます。ご覧のとおり、ボタンを好きなように処理できます。フレームワークにはデフォルトで 4 つのボタンしかないことに注意してください。これは簡単には克服できない制限です。ソースには、0 から < 4 までハードコードされた複数のループがあります。

Ext.MessageBox.show({
    title:'Messagebox Title',
    msg: 'Are you sure want to delete?',
    buttonText: {yes: "Some Button 1",no: "Some Button 2",cancel: "Some Button 3"},
    fn: function(btn){
        console.debug('you clicked: ',btn); //you clicked:  yes
    }
});
于 2012-10-22T21:54:03.147 に答える
4

メソッド内のボタン構成は、表示するボタンを識別する番号を引数として取るため、メソッド show 内でこれを行うことはできません。できることは、メッセージ ボックスを事前に定義してから表示することです。

 var win = Ext.create('Ext.window.MessageBox', {
     width:300,
     height: 100,
     buttons: [
      {text: 'My button 1'},{
        text: 'My button 2'}
    ]
});

win.show({
     title:'Messagebox Title',
     msg: 'Are you sure want to delete?',
    icon: Ext.Msg.QUESTION
});​
于 2012-09-04T12:31:58.940 に答える
3

次のコードを使用します。

Ext.MessageBox.show({
    title:'Messagebox Title',
    msg: 'Are you sure want to delete?',
    buttonText: {                        
        yes: 'Some Button 1',
        no: 'Some Button 2',
        cancel: 'Some Button 3'
    }
});

それがあなたを助けることを願っています。

于 2013-12-09T07:08:40.687 に答える
0

この解決策を試してください:

<script type="text/javascript">
            (function () {
                Ext.override(Ext.MessageBox, {
                    buttonText: { yes: "Sí", no: "No", cancel: "Cancelar" }
                });
            })();
    </script>
于 2013-05-10T17:02:17.577 に答える