ExtJS panel does not render properly unless I open Firebug?

I have the following ExtJS Panel embedded in another Panel, which then resides in a TabPanel and the TabPanel is in a FormPanel.

With that being said, these start/end date fields are initially displayed in very small cells -- the cells are so small that I see horizontal scroll bars. Now here's the weird part: if I open Firebug, everything pops into place.

Does anyone know what's going on? Why isn't it rendering properly in the first place and why does Firebug cause everything to work properly simply by opening Firebug?

var dateFields = new Ext.Panel({
    id: 'dateFields',
    labelAlign: 'bottom',
    border: false,
    items: [{
        layout: 'column',
        defaults: {
            columnWidth: 0.5
        },
        items: [{
            layout: 'form',
            border: false,
            items: [{
                xtype: 'datefield',
                name: 'start_date',
                fieldLabel: 'Start Date'
            }]
        }, {
            layout: 'form',
            border: false,
            items: [{
                xtype: 'datefield',
                name: 'end_date',
                fieldLabel: 'End Date'
            }]                  
        }]
    }]
});
7
задан Abdul Rehman Yawar Khan 8 January 2016 в 11:13
поделиться

3 ответа

Я видел эту проблему раньше ... Есть три вещи, которые вам, возможно, придется сделать.

  1. Если родительская панель, содержащая панель полей даты, является FormPanel, установите deferredRender: true
  2. На панели вкладок установите layoutOnTabChange: true <- Я предполагаете, что панель полей даты не является активной панелью по умолчанию, верно?
  3. В приведенном выше коде задайте для панели полей даты макет : 'fit' . Это необходимо для управления панелью с макетом столбцов лучше
1
ответ дан 7 December 2019 в 18:38
поделиться

Попробуйте использовать Chrome, если он работает, возможно, вы оставили где-то в коде console.log .

Когда firebug открыт, существует консоль .
Когда он закрыт, console не существует, а console.log незаметно нарушает код.

0
ответ дан 7 December 2019 в 18:38
поделиться

У вашей внешней панели нет макета. Попробуйте добавить к нему макет : 'fit' и посмотрите, поможет ли это.

1
ответ дан 7 December 2019 в 18:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: