我将Tree组件集成到Conbo下拉菜单里了,但是点击里面任意节点都会导致Combo下拉菜单关闭,请问怎样做才能在选择了节点之后关闭下拉框呢?谢谢大家。
var tree = new Tree.TreePanel({
autoScroll:true,
autoHeight: true,
border: false,
animate:true,
enableDD:true,
rootVisible:true,
containerScroll: true,
loader: myTreeLoader,
root: {
nodeType: 'async',
text: '菜单',
id: '-1'
},
listeners:{
render:function(tree){
tree.el.on('click',function(e){
e.stopPropagation();
})
}
}
});
//以上代码可以阻止关闭combo,这样的话 需要手动关闭combo
添加个确定按钮,或者通过触发事件控制。
我意思是说在点击节点的时候触发相应事件是否关闭下拉菜单。
在comboboxTree 里面 click 事件里有combox.collapse();
吧他改成
if (combox.fireEvent('isCollapse',combox,node) === true) {//触发事件 如果返回true表示关闭菜单 combox.collapse();
}
combobox.on('isCollapse',function(combox,node){ //事件监听函数
});
改成上面代码之后,你不想关闭返回false就行啦。
这句话造成的
tree.on('click',function(node){
comboxWithTree.setValue(node.text);
comboxWithTree.collapse(); //关闭下拉菜单
});
取消事件上报。
tree.on('click',function(node,e){
comboxWithTree.setValue(node.text);
e.stopPropagation();
});