extjs-treepanel实现单选功能

extjs中treepanel中的复选框默认是多选,如果修改为单选,参考以下代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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);
}
}
}
}
});

文章目录