0

シンプルなフォーム パネルがあり、this.up コマンドを使用してフォームにアクセスできないようです。これを使用する正しい方法は何ですか?すべての console.log ステートメントが undefined を返します。Sencha Architect プログラムを使用していますが、xtype を定義できません。代わりに、エイリアス フィールドを使用する必要がありました。

Ext.define('MyApp.view.MyFormPanel', {
    extend: 'Ext.form.Panel',
    alias: 'widget.contactform',

    config: {
        id: 'MyFormPanel',
        items: [
            {
                xtype: 'fieldset',
                title: 'MyFieldSet1',
                items: [
                    {
                        xtype: 'textfield',
                        label: 'Name',
                        name: 'Name'
                    },
                    {
                        xtype: 'textfield',
                        label: 'Email',
                        name: 'Email'
                    }
                ]
            },
            {
                xtype: 'button',
                itemId: 'mybutton',
                text: 'MyButton'
            }
        ],
        listeners: [
            {
                fn: 'onMybuttonTap',
                event: 'tap',
                delegate: '#mybutton'
            }
        ]
    },

    onMybuttonTap: function(button, e, eOpts) {
        console.log(this.up('widget.contactform'));
        console.log(this.up('contactform'));
        console.log(this.up('form'));
        console.log(this.up('formpanel'));
        console.log(this.up('form.panel'));
        console.log(this.up('MyFormPanel'));

    }

});
4

1 に答える 1

1

うーん。と言うところから考えるとthis、フォームパネルそのものだと思います。

于 2013-06-06T20:27:26.453 に答える