ExtJs 3 - 如何将属性添加到项目中的现有项目?

时间:2011-10-12 04:53:22

标签: extjs3

我需要将属性添加到现有项目FormPanel。 代码:

Application.TypesForm = Ext.extend(Ext.form.FormPanel, {
initComponent : function() {

    Ext.apply(this, {
        defaultType : 'textfield',
        items : [
            {
                fieldLabel : 'Id',
                typeAhead   : true,
                name        : 'id', 
                hiddenName  : 'id',
                hiddenValue : 'id',
                valueField  : 'id',
                readOnly    : true, 
                cls         : 'disabled_field'
            }
            ,{
                xtype    : 'ProductsVerticalsComboBox',
                id       : 'add_vertical_id',
                editable : false
                //readOnly : true, cls : 'disabled_field'
            }

在编辑模式下,您需要注册 add_vertical_id - readOnly 属性和 cls 。而在附加模式 - 他们是不需要的。 我这样做了:

Ext.apply(Ext.getCmp('add_vertical_id'), {readOnly : true, cls : 'disabled_field'});

但不行。我做错了什么?

1 个答案:

答案 0 :(得分:0)

<强>决定

    items : [
{
    fieldLabel : 'Id',
    typeAhead   : true,
    name        : 'id', 
    hiddenName  : 'id',
    hiddenValue : 'id',
    valueField  : 'id',
    readOnly    : true, 
    cls         : 'disabled_field',
    // Disabled Vertical combobox when id is not empty.
    listeners: {
        render: function() {
            if (this.value) {
                Ext.apply(Ext.getCmp('add_vertical_id'), {
                    readOnly : true, 
                    cls      : 'disabled_field'
                });
            }
        }
    }
}
,{
    xtype    : 'ProductsVerticalsComboBox',
    id       : 'add_vertical_id',
    editable : false
}