extjs 如何在ext.js的树视图中创建子视图

kd3sttzy  于 2022-11-04  发布在  其他
关注(0)|答案(1)|浏览(188)

我需要创建一个子树视图如何做到这一点,请帮助。我已经尝试过这样做,但它不工作。

var myLocations = new Ext.Panel({
    title: 'my work',
    id: 'student',
    height: 100,
    autoScroll: true,
    iconCls: 'myPanel',
    //  ,autoLoad: { url: 'UserLocDetails.aspx?UserName=' + strUser } 

    children: [{
        text: "Leaf node (<i>no folder/arrow icon</i>)",
        title: 'dasdasd',
        leaf: true,
        id: 'myLoc',
        qtitle: 'Sample Tip Title',
        qtip: 'Tip body'
    }]

});
s5a0g9ez

s5a0g9ez1#

您需要创建一个TreeStore来存储树的数据,以及一些可以显示树的组件,例如TreePanel。尝试以下代码,它适用于Ext JS 7.3.0 Classic Material,但也可以应用于其他版本:

Ext.define('myTreeStore', {
    extend: 'Ext.data.TreeStore',
    root: {
        expanded: true
    },
    proxy: {
        type: 'memory',
        reader: {
            type: 'json'
        }
    },
    data: {
        children: [{
            text: 'Main 1',
            leaf: true
        }, {
            text: 'Main 2',
            children: [{
                text: 'Sub 21',
                leaf: true
            },{
                text: 'Sub 22',
                leaf: true
            }]
        }, {
            text: 'Main 3',
            leaf: true
        }]
    }
})

Ext.application({
    name: 'Fiddle',
    launch: function () {
        const treeStore = Ext.create('myTreeStore');
        Ext.create('Ext.tree.Panel', {
            rootVisible: false,
            renderTo: Ext.getBody(),
            title: 'Tree Example',
            width: 400,
            store: treeStore,
        });
    }
});

相关问题