2016-03-11 6 views
1

У меня есть боковая панель, которая использует Ext.js. Одна из панелей в боковых панелях прекрасна, пока браузер не изменится. При изменении размера браузера он отсекает компоненты панели.Ext.js: изменение размера панели при изменении браузера

Cut off

Как я могу сделать панель изменения размера при изменении размера браузера?

{ 
     xtype: 'panel', 
     border: 1, 
     margin: 5, 
     flex: 1, 
     autoScroll: true, 
     layout: { 
      type: 'vbox', 
      align: 'stretch' 
     }, 
     items: [ 
      { 
       xtype: 'panel', 
       title: localization.moduleS.labelOutlineAttributesField, 
       border: 0, 
       bodyPadding: '12 5 12 5', 
       className: 'outlineAttrField', 
       hidden: true, 
       items: [ 
       ] 
      }, 
      { 
       xtype: 'sattrfillinpanel', 
       title: localization.moduleS.labelFillInAttributesField, 
       border: 0, 
       bodyPadding: '2 5 12 5', 
       hidden: true 
      }, 
      { 
       xtype: 'panel', 
       title: localization.moduleS.labelGeoAttributesField, 
       border: 0, 
       bodyPadding: '5', 
       className: 'outlineField', 
       hidden: true, 
       items: [ 
        { 
         xtype: 'sdrawbuttonpanel', 
         className: 'drawButtonPanel', 
         margin: '0 0 0 0', 
        }, 
        { 
         xtype: 'container', 
         title: localization.moduleS.labelFiltersPanel, 
         border: 0, 
         margin: '0, 5, 0, 2', 
         className: 'filtersField', 
         hidden: true, 
         items: [ 
          { 
           xtype: 'sfeaturefilterpanel', 
           className: 'baseMapOutlineField', 
           label: localization.moduleS.labelShowAttributesOnLeftField 
          }, 
          { 
           xtype: 'sfeaturefilterpanel', 
           margin: '0 0 0 0', 
           className: 'dualMapOutlineField', 
           label: localization.moduleS.labelShowAttributesOnRightField 
          } 
         ] 
        }, 
       ] 
      }, 

Поле фильтров является то, что получение отрезан

+0

Потенциальный обман? http://stackoverflow.com/questions/5885868/extjs-panel-resize-while-window-resizes –

+0

@SenseiJames Свойство «resizable» позволяет пользователю нажимать и перетаскивать для изменения размера. Это не то, что я ищу. Я ищу коробку, чтобы просто удлиниться сама по себе. –

+0

Здесь недостаточно информации, у вас есть все настраиваемые типы xtypes, которые маскируют то, что происходит внутри них. Кроме того, важно показать всю иерархию раскладки. Я бы предложил собрать минимальный тестовый пример, чтобы уменьшить крутизну (например, скрытые панели не кажутся актуальными). –

ответ

2

Проблема не на вашей панели изменения размера, я думаю, что ваш код правильный, но, на мой взгляд, проблемы в компонентах внутри панели.

Лично, если я использую макет vbox или hbox внутри панели, я устанавливаю для компонентов внутри него значение flex, очевидно, что при изменении размера браузера ваши компоненты не могут без изменения гибкости автоматически изменять размер.

попробуйте просто сместить гибкие компоненты.

здесь примеры об использовании макетов, которые помогли мне в прошлом: http://dev.sencha.com/deploy/ext-4.0.0/examples/layout-browser/layout-browser.html

с помощью окна просмотра, с панелью внутри него, и компоновку VBOX, установив гибкие значения, я всегда имел изменение размера я ожидал.

иногда вам необходимо обновить компоновку компонентов в случае изменения массивов

+0

Хорошо! Я попробую! –

Смежные вопросы