1

、および aなどExt.container.Containerのコントロールで構成されるカスタム ExtJS を作成し、そのconfigに という名前を付けました。radiofieldcombodataviewaliaswidget.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')

一方、私が調べただけthis.getComponent('<parent_form_itemId')では、フォームオブジェクト全体があり、そのitems配列にもCustomerDetailコンポーネントがありますが、驚くべきことに、CustomerDetailオブジェクトが含まれていないxtypeか、itemId存在していません。

ここで何が問題なのですか?

4

1 に答える 1

1

down()で子コンポーネントを見つけることができます:

this.down('#customerDetail');

itemId で選択するときは # を忘れないでください。

于 2013-05-23T22:31:13.380 に答える