ExtJS FormPanel仅在第一次选中时呈现给面板

时间:2011-02-19 06:52:43

标签: extjs

我需要根据XML树结构中的选择来呈现我的表单面板。但是,我的特定节点的表单面板仅在第一次呈现。当我将选择更改为其他内容并返回到原始选择时,不会重新呈现表单面板。

在我有一个简单的Ext.Template并且我做了

之前,它是根据选择正确渲染的

var temp = Ext.getCmp('details-panel')。body;

然后

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

当我将此覆盖线更改为

(表单面板名称).render(temp),它只在第一次运行。

知道我错过了什么吗?谢谢!

2 个答案:

答案 0 :(得分:0)

组件只会在ExtJS中渲染一次,之后你需要在添加和删除子组件后使用doLayout()。

formPanel.doLayout();

答案 1 :(得分: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&& ...)块中,每次将选择切换到此节点时,我都需要呈现特定的formpanel。现在它只是第一次发生。调用myForm.doLayout()会解决这个问题吗?