ExtJS 5.0 - 覆盖 initComponent 以自定义组件
ExtJS 5.0 - overriding initComponent to customize components
我正在尝试访问覆盖中的表单组件以自定义它们。我已确认 itemId == 'name'
或 itemId == 'description'
,但此代码只是拉起 undefined
。
Ext.define('Products.overrides.view.NewProduct', {
override: 'Products.view.NewProduct',
initComponent: function() {
// Set up first
this.callParent([]);
// Revise the maximum lengths
this.getComponent('name').maxLength = 50;
this.getComponent('description').maxLength = 250;
}
});
name
和description
的类型是单行文本输入,但可能会更改为其他类型。我尝试了各种方法来获取这些组件,但都没有成功。我看到了 query
的建议,但我可能无法保证组件类型,所以不确定这是否有用。
这应该不难,是不是我遗漏了什么?
如果要覆盖 initComponent 函数,则必须调用 callParent()
函数。
Ext.define('Products.overrides.view.NewProduct', {
override: 'Products.view.NewProduct',
initComponent: function() {
// Set up first
this.callOverridden();
// Revise the maximum lengths
this.getComponent('name').maxLength = 50;
this.getComponent('description').maxLength = 250;
this.callParent();
}
});
ExtJS 5.0 文档:http://docs.sencha.com/extjs/5.0/5.0.0-apidocs/#!/api/Ext.Component-method-initComponent
您可以使用此检索:
val components = this.query('*[itemId=name]');
然后作为第一个元素访问:
components[0].maxLength = 50;
星号可让您匹配任何组件类型。您可能想要检查数组的长度。如果超过一个,则项目 ID 不是唯一的。
我正在尝试访问覆盖中的表单组件以自定义它们。我已确认 itemId == 'name'
或 itemId == 'description'
,但此代码只是拉起 undefined
。
Ext.define('Products.overrides.view.NewProduct', {
override: 'Products.view.NewProduct',
initComponent: function() {
// Set up first
this.callParent([]);
// Revise the maximum lengths
this.getComponent('name').maxLength = 50;
this.getComponent('description').maxLength = 250;
}
});
name
和description
的类型是单行文本输入,但可能会更改为其他类型。我尝试了各种方法来获取这些组件,但都没有成功。我看到了 query
的建议,但我可能无法保证组件类型,所以不确定这是否有用。
这应该不难,是不是我遗漏了什么?
如果要覆盖 initComponent 函数,则必须调用 callParent()
函数。
Ext.define('Products.overrides.view.NewProduct', {
override: 'Products.view.NewProduct',
initComponent: function() {
// Set up first
this.callOverridden();
// Revise the maximum lengths
this.getComponent('name').maxLength = 50;
this.getComponent('description').maxLength = 250;
this.callParent();
}
});
ExtJS 5.0 文档:http://docs.sencha.com/extjs/5.0/5.0.0-apidocs/#!/api/Ext.Component-method-initComponent
您可以使用此检索:
val components = this.query('*[itemId=name]');
然后作为第一个元素访问:
components[0].maxLength = 50;
星号可让您匹配任何组件类型。您可能想要检查数组的长度。如果超过一个,则项目 ID 不是唯一的。