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

标签 javascript extjs extjs4 parent-child custom-component

我通过扩展 Ext.container.Container 创建了一个自定义 ExtJS由类似 radiofield 的控件组成, combo和一个 dataview并将其命名为alias配置为widget.CustomerDetail .

在实际 View 中,我通过在 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') 在其父 View (使用它的表单)中查询此自定义组件。 .

同时,如果我只是检查 this.getComponent('<parent_form_itemId') ,它具有完整的表单对象,其 items数组还有CustomerDetail组件,但令人惊讶CustomerDetail s 对象没有 xtypeitemId存在于其中。

这里出了什么问题?

最佳答案

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

this.down('#customerDetail');

通过 itemId 选择时不要忘记#。

关于javascript - 自定义 ExtJS 组件中缺少 xtype 和 itemId 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16706837/

相关文章:

Javascript:带键的数组怎么可能?

javascript - AngularJS 范围未定义

javascript - 如何向整个 HTML 添加或应用 CSS 类

javascript - Sencha 日历的文档在哪里

javascript - 如何获取点击查询的值?

javascript - extjs网格分页在页面加载时加载所有数据

javascript - ExtJS TabPanel 在 ViewPort 中缺少滚动条

extjs4 - 协会模式

javascript - 具有 2 个数据值的组合框显示格式

Extjs 网格过滤器 - 动态列表过滤器