Панель ExtJS не отображается правильно, если я не открою Firebug? - PullRequest
7 голосов
/ 20 августа 2010

У меня есть следующая панель ExtJS, встроенная в другую панель, которая затем располагается в панели TabPanel, а панель TabPanel находится в панели FormPanel.маленькие ячейки - ячейки такие маленькие, что я вижу горизонтальные полосы прокрутки.Теперь вот странная часть: если я открою Firebug, все встанет на свои места.

Кто-нибудь знает, что происходит?Почему он не рендерится правильно и почему Firebug заставляет все работать правильно, просто открывая 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'
            }]                  
        }]
    }]
});

Ответы [ 3 ]

1 голос
/ 21 августа 2010

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

1 голос
/ 23 августа 2010

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

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

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

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

...