Можно ли отобразить содержимое div на панели extjs? - PullRequest
2 голосов
/ 10 октября 2011

У меня есть некоторый ранее существующий код js, который манипулирует div через DOM.У меня Ext.container.Viewport с макетом границы.Я хочу отобразить содержимое div на панели в центральной области области просмотра.

HTML

<div id="contents"></div>

EXTJS

Ext.create('Ext.container.Viewport', {
  layout: 'border',
  items: [{
    region: 'north',
    ...
  }, {
    region: 'center',
    items: [{          
        // #contents;
    }]
  ]}
});

Ответы [ 3 ]

4 голосов
/ 10 октября 2011

Возможно, вас заинтересует вариант конфигурации contentEl. Из документации:

Укажите существующий элемент HTML или идентификатор существующего элемента HTML, который будет использоваться в качестве содержимого для этого компонента.

Этот параметр конфигурации используется для того, чтобы взять существующий элемент HTML и поместить его в элемент макета нового компонента (он просто перемещает указанный элемент DOM после того, как компонент отображается для использования в качестве содержимого.

В документации есть некоторые дополнительные примечания, но они звучат именно так, как вы ищете.

0 голосов
/ 10 октября 2011

Другой вариант - использовать свойство html Ext.panel.Panel.

Это имеет некоторые небольшие отличия от contentEl, которые описаны в API, но выполняет аналогичную задачу.

0 голосов
/ 10 октября 2011

NT3RP правильно, contentEl - это то, что вам нужно.Вот фрагмент кода:

Ext.create('Ext.container.Viewport', {
            layout : {
                type : 'border'
            },
            items : [ {
                region : 'north',
                contentEl : 'header',   //content read from html div#header
                id : 'mainHeader'
            },

Кстати, xtype по умолчанию для любого региона в области просмотра - это Panel - так что вам не нужно создавать новую Panel.

...