是否可以通过编程方式更改xtype和用户定义的xtypes配置选项?执行此操作后,xtype的所有实例都将具有这些配置选项。
我希望能够在实例化之前定义某些xtypes的默认值。这些默认值取决于应用程序设置(maxLength,visible,vtype)
我不想迭代实例化的组件并设置属性。
感谢。
答案 0 :(得分: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
虽然这有效,但我认为在实例化组件之前将应用程序设置应用于会更好。