2014-01-13 55 views
6

我想知道是否有創建Extjs容器或使用從頁面DOM中預先存在的元素中提取內容的面板的方法。該頁面已經在div中包含了所需的標記,但是我想將它包裝在extjs容器中,並將其放入Extjs託管佈局中。ExtJS:將預先存在的div包裝到Extjs容器中

如果你問爲什麼:我使用ASP.Net MVC模板創建頁面標記,並希望保持這種方式,而不是在Javascript中使用XTemplates構建DOM客戶端。我想以傳統方式構建html,然後使用客戶端Extjs代碼爲它們設置少量容器和佈局管理器。

+0

我們就是這麼做的在我們的Web應用程序之前。但隨着UI的複雜性增長,我們不得不放棄這種方法。有5個網格和一個或兩個窗口是可以忍受的,但不多。如果你的網頁很簡單,你應該沒問題。 –

回答

6

您可以使用contentEl配置屬性。在此配置中,您可以指定現有的HTML元素或現有HTML元素的ID作爲組件的內容。

HTML體內:

<div id="panelContent"> 
    Content inside panelContent div 
</div> 

ExtJS的面板採用DIV作爲它的內容:

Ext.create('Ext.panel.Panel', { 
    title: 'Test Panel', 
    width: 200, 
    contentEl: 'panelContent', 
    renderTo: Ext.getBody() 
}); 

撥弄活生生的例子:https://fiddle.sencha.com/#fiddle/2ji