在extjs中如何让ExtdataTreeStore的根节点是多个
在Ext.data.TreeStore中,根节点只能是一个,无法直接设置多个根节点。但是可以通过设置一个虚拟的根节点来实现多个根节点的效果。
具体做法是:
-
创建一个空的根节点,然后将所有要显示的根节点作为其子节点添加进去。
-
将创建好的根节点设置为TreePanel的根节点。
示例代码如下:
// 创建虚拟根节点
var root = {
text: 'root',
expanded: true,
children: [
{text: 'node1', leaf: true},
{text: 'node2', leaf: true},
{text: 'node3', leaf: true}
]
};
// 创建TreeStore,并将虚拟根节点设置为根节点
var store = Ext.create('Ext.data.TreeStore', {
root: root
});
// 创建TreePanel,并将虚拟根节点设置为根节点
var tree = Ext.create('Ext.tree.Panel', {
store: store,
rootVisible: false, // 隐藏虚拟根节点
renderTo: Ext.getBody()
});
上述代码中,创建了一个名为“root”的虚拟根节点,并将三个子节点添加进去。然后将虚拟根节点设置为TreeStore和TreePanel的根节点,最后将TreePanel渲染到页面中。由于设置了“rootVisible: false”,所以虚拟根节点不会在TreePanel中显示出来,只有子节点才会显示。
原文地址: https://www.cveoy.top/t/topic/0jx 著作权归作者所有。请勿转载和采集!