想打开一个下拉框,里面是一个树吗?
嘿嘿,就像这样.
代码其实很简单的.
var comboxWithTree = new Ext.form.ComboBox({
store:new Ext.data.SimpleStore({fields:[],data:[[]]}),
editable:false,
shadow:false,
mode: 'local',
triggerAction:'all',
maxHeight: 200,
tpl: '<tpl for="."><div style="height:200px"><div id="tree1"></div></div></tpl>',
selectedClass:'',
onSelect:Ext.emptyFn
});
var tree1 = new Ext.tree.TreePanel({
loader: new Tree.TreeLoader({dataUrl:'get-nodes.php'}),
border:false,
root:new Ext.tree.AsyncTreeNode({text: 'treeRoot',id:'0'})
});
tree1.on('click',function(node){
comboxWithTree.setValue(node.text);
comboxWithTree.collapse();
});
comboxWithTree.on('expand',function(){
tree1.render('tree1');
});
comboxWithTree.render('comboxWithTree');
其实很简单的, 不需要多说明吧.原理就是在下拉框里面定义一个div,在用树去渲染
本文介绍如何使用 ExtJS 创建一个包含树形结构的下拉框组件。通过定义 ComboBox 和 TreePanel 并结合使用,可以实现在下拉菜单中显示树形结构的功能。此方法适用于需要快速构建复杂 UI 的前端开发场景。
1558

被折叠的 条评论
为什么被折叠?



