extjs中treepanel中的复选框默认是多选,如果修改为单选,参考以下代码。
var fligthInfoTree = new Ext.tree.TreePanel({
border: false,
selModel: flightTreeSelectModel,
loader: flightTreeLoader,
lines: false,
autoScroll: true,
animate: false,
animCollapse: false,
root: flightTreeRoot,
rootVisible: true,
listeners : {
/* checkchange事件 */
'checkchange' : function (node, checked) {
//当前选中的设置选中状态
node.attributes.checked = checked;
//获取该树下的所有已选中节点,设置为非选中
var chs = fligthInfoTree.getChecked();
//循环处理,如果不等于当前选择的节点,则通过toggleCheck方法设置非选中状态
for(var i = 0; i < chs.length; i++) {
if(chs[i].attributes.id != node.attributes.id) {
chs[i].ui.toggleCheck(!checked);
}
}
}
}
});