自定义ExtJS组件中缺少xtype和itemId属性

时间:2013-05-23 06:19:17

标签: javascript extjs extjs4 parent-child custom-component

我通过扩展Ext.container.Container来创建自定义ExtJS,其中包含radiofieldcombodataview等控件,并将其alias配置命名为{{1 }}

在实际的视图中,我通过在widget.CustomerDetail数组中定义它来使用此组件,如下所示。

items

但是我无法使用{ xtype: 'CustomerDetail', itemId: 'customerDetail', customerId: '<some id>', //this is custom attribute that I access in CustomerDetail's constructor. listeners: { 'customerDataChanged': function(sender, eOpts) { //This event is fired from CustomerDetail's components' change events //by this.fireEvent("customerDataChanged", obj, eOpts); //Do something like enabling Parent form's Save button. } } } 在其父视图(使用它的表单)中查询此自定义组件。

虽然,如果我只是检查this.getComponent('<parent_form_itemId').getComponent('customerDetail'),它有整个表单对象,并且其this.getComponent('<parent_form_itemId')数组也有items组件,但令人惊讶的是CustomerDetail s对象没有其中包含CustomerDetailxtype

这里有什么问题?

1 个答案:

答案 0 :(得分:1)

您可以找到down()的子组件:

this.down('#customerDetail');

当你按itemId选择时,不要忘记#。