2011-02-19 55 views
1

我的表單面板需要根據XML樹結構中的選擇來呈現。但是,我的特定節點的表單面板僅在第一次顯示。當我將選擇更改爲其他內容並返回到原始選擇時,表單面板不會重新呈現。ExtJS FormPanel只在第一次選擇時才呈現給面板

它渲染的基礎上正確的選擇之前,當我有一個簡單的Ext.Template,我做

變種臨時= Ext.getCmp(「信息板」)身上。

然後

(Ext.Template的名字).overwrite(溫度,node.attributes)。

當我改變了這種覆蓋線

(表格面板的名字).render(TEMP),它僅適用第一次。

任何想法我失蹤?謝謝!

+0

您是否真的需要在每次選擇更改時重新呈現整個表單面板?爲什麼不更新表單的字段值? – Tommi 2011-02-19 09:40:17

回答

0

一個組件只會在ExtJS中渲染一次,之後您需要在添加和刪除子組件後使用doLayout()。

formPanel.doLayout(); 
0

我不知道我是否理解。我基本上有

tp.getSelectionModel().on('selectionchange', function(tree, node){ 
      var el = Ext.getCmp('temp-panel').body; 
      el.update(""); 
      if(node && node.....){ 
       myForm.render(el); 
      } 

我想不同的窗體面板顯示基於我點擊哪個節點。所以在if(node & & ...)塊中,我需要在每次將選擇切換到此節點時呈現特定的窗體面板。現在它只是第一次發生。將調用myForm.doLayout()解決這個問題?

相關問題