Ext js FormPanel не показывает элементы панели при наличии панели инструментов - PullRequest
1 голос
/ 16 декабря 2010

Кажется, у меня тут странная проблема.Расширенный компонент имеет следующий код:

MyApp.panels.RelationshipDetails = Ext.extend(Ext.FormPanel, {
    closable: true,
    relationshipId: null,
    documentId: null,
    title: 'Relationship',
    initComponent: function () {
        if (!this.verifyRequiredData()) {
            MyApp.panels.RelationshipDetails.superclass.initComponent.call(this);
            return;
        }

        // Build components
        this.tbar = this.buildToolbar();
        this.items = this.buildDetailItemArray();

        MyApp.panels.RelationshipDetails.superclass.initComponent.call(this);
    },

    verifyRequiredData: function () {
        // Verification code here
    },

    buildDetailItemArray: function () {
        return [{
            xtype: 'fieldset',
            title: 'Details',
            collapsible: true,
            autoHeight: true,
            items: [{
                xtype: 'hidden',
                name: 'Id'
            }, {
                xtype: 'textfield',
                fieldLabel: 'Name',
                name: 'Name'
            }, {
                xtype: 'textfield',
                fieldLabel: 'Description',
                name: 'Description'
            }, {
                xtype: 'button',
                text: 'Save',
                name: 'saveButton'
            }]
        }];
    },

    buildToolbar: function () {
        return new Ext.Toolbar({
            // Toolbar Config
        });
    }
});

Проблема заключается в том, что при визуализации этой панели отображается только панель инструментов.Благодаря отладке я вижу, что BuildDetailItemArray() вызывается правильно и возвращает правильный результат.

Это становится еще более странным, когда я закомментирую строку this.tbar =, потому что когда панель инструментов отсутствует, набор полейполе отображается правильно.Это происходит, даже если я расширяю Panel вместо FormPanel.Я также попытался абстрагировать поля формы в его собственный компонент, и произошло то же самое.

У кого-нибудь есть идеи, почему это не работает?

1 Ответ

1 голос
/ 16 декабря 2010

В какой макет вы пытаетесь вставить эту панель?Кроме того, вы устанавливаете высоту для этой панели?

Часто, если вы не указываете высоту для добавляемого компонента (в вашем случае, этой панели), или вы не устанавливаете привязкуПри использовании AnchorLayout содержимое компонента не будет отображаться, но панель инструментов все равно будет отображаться.

Было бы хорошо узнать контекст этой панели в общем макете.

...