2011-02-19 60 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()解决这个问题?

相关问题