Ext JS 3 FitLayout не расширяет элемент до его контейнера

#extjs

#extjs

Вопрос:

Я пытался добавить панели и т.д. В TabPanel, Но по какой-то причине даже я установил добавленные панели (эти элементы содержат другие элементы, например, один элемент содержит EditorGridPanel) в макет FitLayout, единственная видимая вещь — это строка в верхней части контейнера, поэтому она не очень хорошо подогнана, и, как я ожидал, она будет подогнана в контейнере.

Как я могу это отладить, потому что ошибок JavaScript нет?

Создание панели :

 function getPanel() {

    var panel = new Ext.Panel({
        layout:'fit'
    });

    var grid = new Ext.grid.EditorGridPanel({
        title: 'mytitle',
        bodyStyle: 'padding: 5px',
        store: store,
        cm: cm,
        frame: true,
        clicksToEdit: 1,
        bbar: [{
            xtype: 'button',
            handler: function() {
                store.save();
            }
        }]
    });

    panel.add(grid);    
    return panel;
}
  

Создание панели вкладок

 var tabs = new Ext.TabPanel({
    activeTab: 0,
    plain:true,
    autoScroll: true,
    defaults:{autoScroll: true}
});

var panel = getPanel();
tabs.add(panel);

window = new Ext.Window({       
    width: 500,
    height: 450,
    layout: 'vbox',
    modal: true,
    closeAction: 'hide',
    buttons: [],
    items: [tabs]
});
  

Комментарии:

1. Предоставьте некоторый код. Я ожидаю, что у вас здесь проблема с макетом. И нет, вы не можете отладить это с помощью обычных инструментов.

2. Теперь добавлен некоторый код, мне пришлось удалить некоторые части кода…

Ответ №1:

Хорошо, проблема была с элементом window, мне пришлось поместить макет fit в окно контейнера.

 window = new Ext.Window({       
    width: 500,
    height: 450,
    layout: 'fit',
    modal: true,
    closeAction: 'hide',
    buttons: [],
    items: [tabs]
});
  

Комментарии:

1. Как я уже говорил вам; проблема с макетом 😉