日期:2014-05-16  浏览次数:20589 次

为什么我的tree控制不了右边的面板呢?? - Web 开发 / Ajax
我写了一段js,想达到点击左树节点,右边面板显示不同的内容。
当我点击节点的时候,右边的面板没有反应,不知道为啥,请兄弟们帮忙定位一下,非常感谢。
listeners:{
"click":function(node,e){
  var mainPanel =Ext.getCmp('centerPanel');
 
  mainPanel.add({  
  id:node.id,  
  title:node.text,  
  closable:true,  
  xtype : 'panel',
  height : 300,
  layout : 'form',
  items :[{
  xtype : 'textfield',
  id : 'ddd',
  fieldLabel : '哈啊'
  }]
   
  }); 
  }
  }
这是树的监听事件
var mainPanel = new Ext.Panel({ 
  id : 'centerPanel',
  title: '欢迎您来到新生入学管理系统', 
  frame :true,
  border : false,
  width : 1013,
  height : 425,
  items : []
  }); 
下面的是主面板

我跟了一下,发现加是加进去了,但是显示不出刚加入的东西来,仍然是主面板。

------解决方案--------------------
将mainPanel定义为TabPanel才可以加的吧!
------解决方案--------------------
把var mainPanel = new Ext.Panel({ 改为

var mainPanel = new Ext.TabPanel({


还有 这句话可以省略var mainPanel =Ext.getCmp('centerPanel');


另外 最好改一下 如
JScript code
var abc = mainPanel.add({ 
id:node.id, 
title:node.text, 
closable:true, 
xtype : 'panel',
height : 300,
layout : 'form',
items :[{
xtype : 'textfield',
id : 'ddd',
fieldLabel : '哈啊'
}]

}); 

mainPanel.setActiveTab(abc);

------解决方案--------------------
CSS code

好像要重新渲染吧,reader、show…………

------解决方案--------------------
mainPanel add完以后 要doLayout(),否则不会显示的
------解决方案--------------------
6楼正解
------解决方案--------------------
学习