如何获取FieldSet的元素

时间:2012-05-15 15:04:21

标签: sencha-touch extjs sencha-touch-2

我有一个FieldSet:

Ext.define('admin.view.BuzzEditForm', {
    extend: 'Ext.form.Panel',
    requires: ['Ext.form.FieldSet','Ext.Img'],
    id: 'editorPanel',
    xtype: 'buzzEditForm',
    config: {
        /* modal: true,
         hideOnMaskTap: false,
         centered: true,
         width: 500,
         scrollable: false,*/
        items: [{
            xtype: 'fieldset',
            items: [
                {
                    xtype: 'textfield',
                    name: 'keyword',
                    label: 'Mots clés'
                },
                {
                    xtype: 'textfield',
                    name: 'title',
                    label: 'Titre'
                },
                {
                    id: 'editorPanelvisual',
                    xtype: 'field',
                    label: 'Visuel actuel',
                    component:
                    {
                        xtype: 'container',
                        layout: 'hbox',
                        items: [
                            {
                                id: 'buzzImageField',
                                flex: 1,
                                xtype: 'image',
                                src: 'http://pierre.chachatelier.fr/programmation/images/mozodojo-original-image.jpg',
                                height: 200
                            },
                            {
                                id: 'buzzChooseImageField',
                                xtype: 'button',
                                iconCls: 'arrow_right',
                                iconMask: true,
                                ui: 'action',
                                action: 'chooseBuzzImage'
                            }

                        ]
                    }

                },
                {
                    xtype: 'textfield',
                    name: 'visual',
                    label: 'Visuel'
                }
            ]
        }]
    }
});

我可以使用Ext.getCmp('#editorPanel')获取我的formPanel但是如何使用其名称获取字段?

2 个答案:

答案 0 :(得分:3)

只需使用Ext.ComponentQuery,例如:

Ext.ComponentQuery.query('textfield[name="keyword"]')

有关详细信息,请参阅:http://docs.sencha.com/touch/2-0/#!/api/Ext.ComponentQuery

答案 1 :(得分:0)

提到Ext.ComponentQuery.query('textfield[name="keyword"]')返回一个数组。因此,如果您只需要一个像上面示例那样的元素,则必须使用.pop()函数来获取最后一个元素,然后使用它进行操作。