1
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 文档另有说明...?无论我使用什么技术来达到“标签”。我总是收到一个没有 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'
        }
    ]
}

});
4

1 回答 1

1

您可以通过 itemId 找到文本字段:

row.down('#rowLabel');
于 2013-05-24T17:25:41.713 回答