1

I have this:

{
    listeners['combobox[name="counterparty_id"]'] = {
        afterrender: {
            fn: this.onComboboxCounterpartyAfterrender,
            scope: this
        }
    };      

    this.control(listeners);
}



// function which is being called after rendering the combobox

onComboboxCounterpartyAfterrender: function(combobox, eOpts){

// some code

},

So, how can I send additional parameteres to onComboboxCounterpartyAfterrender function?

Maybe something like this:

listeners['combobox[name="counterparty_id"]'] = {
            afterrender: {
                fn: this.onComboboxCounterpartyAfterrender,
                scope: this,
                params: someParameters
            }
        };
4

2 に答える 2

3

これを行うには多くの方法があります。

まず、eOpts を使用できます。ドキュメントに記載されているように、eOpts は「Ext.util.Observable.addListener に渡されるオプション オブジェクト」です。したがって、あなたの例では、ePots.params を実行して someParametrs にアクセスできるはずです。

次に、Ext.bind() または Ext.pass() を使用してパラメーターを渡すことができます。最初のものは先頭に追加し、2 番目のものは追加の引数を追加します。

第三に、Amit Aviv が提案したことを行うことができます。これは Ext.pass() が行うこととほとんど同じです。

第 4 に、可能であればスコープを使用できます。

于 2013-05-18T13:43:47.420 に答える
1

より良い方法があるかもしれませんが、次のことができます。

listeners['combobox[name="counterparty_id"]'] = {
    afterrender: {
        fn: function(combobox, eOpts) {
            this.onComboboxCounterpartyAfterrender(combobox, eOpts, params)
        }
        ...
于 2013-05-18T12:37:21.343 に答える