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 回答