0

xtype およびユーザー定義の xtypes 構成オプションをプログラムで変更することは可能ですか? これを行うと、xtype のすべてのインスタンスにこれらの構成オプションが設定されます。

インスタンス化する前に、特定の xtypes にデフォルトを定義できるようにしたいと考えています。これらのデフォルトは、アプリケーションの設定 (maxLength、visible、vtype) によって異なります。

インスタンス化されたコンポーネントを繰り返し処理してプロパティを設定したくありません。

ありがとう。

4

1 に答える 1

0

オブジェクトのインスタンス化の一部としてデフォルトをオーバーライドしない限り、できるようです。http://jsfiddle.net/WteqQ/2/を参照してください

Ext.define('Custom', {
    xtype: 'custom',
    defaultProp: 'default',
    defaultProp2: 'default2',
    customFn1: function () {
        alert(1);
    }
});

var a = new Custom();
a.defaultProp2 = 'overridden default';
a.customFn1();        //alerts 1
alert(a.defaultProp); //alerts default
alert(a.defaultProp2);//alerts overridden default
//a.customFn2();      //would throw error

Ext.define('Custom.Override', {
    override: 'Custom',
    defaultProp: 'new default',
    customFn1: function () {
        alert(2);
    },
    customFn2: function () {
        alert(3);
    }
});

a.customFn1();        //alerts 2
a.customFn2();        //alerts 3
alert(a.defaultProp); //alerts new default
alert(a.defaultProp2);//alerts overridden default

これは機能しますが、コンポーネントをインスタンス化する前にアプリケーション設定を適用した方がよいと思います。

于 2013-08-10T23:33:31.147 に答える