TextField.getFieldLabel() не работает

var rows=[];
for(var i=0; i<5;i++)
{
    var row = Ext.create(Prototype.view.RowModel);
    var text = row.getComponent(0).getFieldLabel();
    var text2 = row.getComponent(0).getId();
    rows.push(row);
    console.log(text+text2);
}
this.add(rows);

row.GetComponent(0) подтверждается как текстовое поле. Когда я вызываю getFieldLabel(), происходит сбой со следующей ошибкой

Uncaught TypeError: Object [object Object] has no method 'getFieldLabel' 

Но в документации ExtJs 4.2 сказано иначе...? Какой бы техникой я ни пользовался, чтобы достичь "ярлыка". Я всегда получаю объект Object, который не имеет getFieldLabel(). Как мне конвертировать? Или достичь этого напрямую?

может кто-нибудь помочь?

код строковой модели:

Ext.define('Prototype.view.RowModel', {
extend: 'Ext.Container',

config: {
    layout: {
        type: 'hbox'
    },
    items: [
        {
            xtype: 'textfield',
            itemId: 'rowLabel',
            width: 100,
            label: 'Vin',
            labelWidth: '100%',
            name: 'rowLabel1',
            readOnly: true
        },
        {
            xtype: 'numberfield',
            itemId: 'UserField',
            width: 100,
            labelWidth: '0%'
        },
        {
            xtype: 'numberfield',
            itemId: 'ObjectField',
            width: 100,
            labelWidth: '0%'
        },
        {
            xtype: 'textfield',
            itemId: 'UnitLabel',
            style: 'font-size:15px',
            width: 60,
            label: 'L/User',
            labelWidth: '100%',
            readOnly: true
        },
        {
            xtype: 'numberfield',
            itemId: 'FactorField',
            width: 100,
            labelWidth: '0%'
        },
        {
            xtype: 'spacer',
            maxWidth: 15
        },
        {
            xtype: 'button',
            handler: function(button, event) {
                alert('help');
                console.log('okay');
            },
            height: 47,
            itemId: 'mybutton',
            ui: 'plain',
            iconCls: 'info'
        }
    ]
}

});

1 ответ

Решение

Вы можете найти текстовое поле по itemId:

row.down('#rowLabel');
Другие вопросы по тегам