Ext tree 某个节点及其子节点 编辑/不可编辑 切换

目前 Ext.onReady 中,有加载 treeEditor 和 contextmenu,当节点加载时的editable属性为 true 时, 是可以正常 编辑,和使用右键菜单。

[b]想实现 [/b]附件中所示的一棵树, 刚开始显示时,不可编辑(editable属性为 false),点击 [b]Modify[/b],该节点及其子节点 变为可编辑状态,treeEditor 和 contextmenu起作用。编辑完后,点某个按钮,变回不可编辑状态。

点击 [b]Modify[/b]后,我用 Ext.getCmp('treepanel').getNodeById(nodeId).attributes.editable = true; 不起作用。

1,有没有一个函数,让一个节点的属性改变后,他的子节点也跟着改变
2,如何把初始化时定义的 treeEditor 和 contextmenu, 加载到这些个别的节点上。
3,还是有其他更好的思路。

在此 先谢谢了

遍历所有子节点设置编辑状态
Ext.getCmp('treepanel').getNodeById(nodeId).cascade(function(node){
node.attributes.editable = true;
})

添加TreeNode 属性 isMenu = false;

Ext.getCmp('treepanel').on('contextmenu',function(node){
if(node.attributes.isMenu !== false){
显示右键菜单
}
})