在Ext.data.TreeStore中,根节点只能是一个,无法直接设置多个根节点。但是可以通过设置一个虚拟的根节点来实现多个根节点的效果。

具体做法是:

  1. 创建一个空的根节点,然后将所有要显示的根节点作为其子节点添加进去。

  2. 将创建好的根节点设置为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中显示出来,只有子节点才会显示。

在extjs中如何让ExtdataTreeStore的根节点是多个

原文地址: https://www.cveoy.top/t/topic/0jx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录