是否可以以编程方式更改 xtype 和用户定义的 xtypes 配置选项?这样做之后,所有 xtype 实例都将具有这些配置选项。
我希望能够在实例化之前为某些 xtypes 定义默认值。这些默认值取决于应用程序设置(maxLength、visible、vtype)
我不想遍历实例化的组件并设置属性。
谢谢。
只要您没有将默认值作为对象实例化的一部分覆盖,您似乎就可以。见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
虽然这可行,但我认为在实例化组件之前应用应用程序设置会更好。