2

私のアプリのために、カスタムダイアログを書いてみてください。Ext.window.MessageBoxのサブクラスを作成し、タイトルとメッセージをパラメーターで渡すと思います。そして私は書いた:

Ext.define('CRUDManantiales.view.dialog.NoUserSelected',{
    extend: 'Ext.window.MessageBox',
    alias: 'dialog.noUserSelected',

    initComponent: function(){
        this.title = this.titulo;
        this.msg = 'No se ha seleccionado ningún usuario.\n Asegurese de haber elegido un usuario\n\
                           al cual aplicarle la operación.';
        this.buttons = Ext.MessageBox.OK;
        this.icon = Ext.MessageBox.ERROR;
        this.callParent(arguments)
    }
})

ただし、ダイアログを作成して表示する場合:

Ext.create('CRUDManantiales.view.dialog.NoUserSelected',{titulo: 'Agregar administrador'}).show();

Firebugによると:

TypeError:cfgはMessageBox.jsで未定義です
"NetworkError:404 Not Found- http://appadmin.local/x-message-box-error "

何か案が ?注:ExtJs4.1を使用しています

4

1 に答える 1

2

構成オブジェクトをメソッドExt.Msgに渡す必要があります。show(cfg)、コンポーネント構成を設定しません。

次のように、カスタムメソッドを記述できます。

...
initComponent: function(){
    this.callParent(arguments)
},

showError: function() {
    var cfg = {
        title: this.titulo,
        msg: 'No se ha seleccionado ningún usuario.\n Asegurese de haber elegido un usuario\n\al cual aplicarle la operación.',
        buttons: Ext.MessageBox.OK,
        icon: Ext.MessageBox.ERROR
    };
    this.show(cfg);
}
...

そしてダイアログを表示します:

Ext.create('CRUDManantiales.view.dialog.NoUserSelected',{titulo: 'Agregar administrador'}).showError();
于 2013-01-23T15:05:24.603 に答える