1

我创建了一个自定义 ExtJS,方法是扩展Ext.container.Container包含和 a之类的控件radiofield,并将其配置命名为.combodataviewaliaswidget.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组件,但令人惊讶CustomerDetail的是 s 对象中没有xtype或不itemId存在。

这里有什么问题?

4

1 回答 1

1

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

this.down('#customerDetail');

按 itemId 选择时不要忘记 #。

于 2013-05-23T22:31:13.380 回答