效果图:
listeners:{
//监听复选框的选中属性改变事件
checkchange:function(node,checked){
//展开该节点下所有分支
node.expand(true,true);
//判断当前节点是否为叶子节点
var isLeaf = node.isLeaf();
if(!isLeaf){
//cascade是指从当前节点node开始逐层下报,即遍历当前节点的每一个节点(无论有多少层级结构,详参API)
node.cascade(function(node){
node.set("checked", checked);
});
}else{
if(checked)
node.set('checked',true);
else
node.set('checked',false);//当前节点为选中状态时,改变为未选中状态
}
var pnode = node.parentNode;
while(pnode != null){
pnode.set('checked',true);
pnode = pnode.parentNode;
}
}
}
});