var tree = Ext.create('Ext.tree.Panel', {
store : store,
rootVisible : true,
useArrows : true,
frame : true,
// title : 'Check Tree',
// renderTo : Ext.getBody(),
width : 200,
height : 250,
listeners : {
itemclick : function(view, record, item, index, e,
eOpts) {
// Ext.MessageBox.alert("被点击了"+index);
// console.info(item);
},
checkchange : function(node, checked, eOpts) {
console.info(node);
if (node.data.leaf == false) {
if (checked) {
// 打开节点
node.expand();
// 遍历孩子
node.eachChild(function(n) {
n.data.checked = true;
n.updateInfo({
checked : true
});
});
} else {
node.expand();
node.eachChild(function(n) {
n.data.checked = false;
n.updateInfo({
checked : false
});
});
}
} else { // 单击叶子时候
if (checked) { // 未被选中时,取消父节点的选择状态
node.parentNode.data.checked = true;
node.parentNode.updateInfo({
checked : true
});
}
}
}
}
});