我需要根据XML树结构中的选择来呈现我的表单面板。但是,我的特定节点的表单面板仅在第一次呈现。当我将选择更改为其他内容并返回到原始选择时,不会重新呈现表单面板。
在我有一个简单的Ext.Template并且我做了
之前,它是根据选择正确渲染的var temp = Ext.getCmp('details-panel')。body;
然后
(Ext.Template的名字).overwrite(temp,node.attributes)。
当我将此覆盖线更改为
时(表单面板名称).render(temp),它只在第一次运行。
知道我错过了什么吗?谢谢!
答案 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()会解决这个问题吗?