首先,您需要注册用户在树形面板中选择节点的事实,这可以通过以下方式完成:
yourtreepanel.getSelectionModel().on('selectionchange', whattodonext);
其中'yourtreepanel'是你的treepanel的名称(如果treepanel被分配给一个变量,否则使用Ext.getCmp('yourtreepanel').getSelecti ....)和'whattodonext'是函数的名称时调用用户选择一个节点。
函数“whattodonext”将如下所示:
function whattodonext(){
node=yourtreepanel.selModel.selNode;
if(node){
if(node.isLeaf()){
// this works out what you want to do if the user has selected a valid leaf node
}else{
// otherwise...put anything you wish to happen here (i.e. if a folder has been selected)
}
}
}
下一部分是使用内容更新右侧的面板(如果它被称为“mycontentpanel”)。假设此内容应从“mycontent.html”加载,在与
// this works out what you want to do if the user has selected a valid leaf node
你会放代码:
mycontentpanel.load({
url: 'mycontent.html',
params: {
yourparam1:'param1value',
yourparam2:'param2value'
},
nocache: true,
timeout: 30
});
就是这样!
您可以使用 params 选项发送您可能拥有的任何特定 POST 参数,这些参数将决定提供哪些内容。
而且不要忘记,如果您遇到困难,请尝试使用 Ext.getCmp('objectname') 引用您的对象,而不仅仅是 'objectname'.operation....
祝你好运!