ExtJS 数据处理-TreeStore类型

更新记录
2022年7月18日 发布。
2022年7月6日 从笔记迁移到博客。

ExtJS教程汇总:https://www.cnblogs.com/cqpanda/p/16328016.html

Ext.data.TreeStore(树型数据存储)

说明#

Ext.data.TreeStore类继承自Ext.data.Store
常用于与tree组件一起使用
注意:用于Ext.data.TreeStore类的model必须继承自Ext.data.TreeModels

实例:定义TreeStore#

//定义TreeModel
Ext.define('PandaApp.model.NavigationItem', {
    extend: 'Ext.data.TreeModel',  //继承自TreeModel
    fields: [   //定义字段
        {
            name: 'Label',
            type: 'string'
        },
        {
            name: 'Route',
            type: 'string'
        }
    ]
});

//定义TreeStore
Ext.define('PandaApp.store.Navigation', {
    extend: 'Ext.data.TreeStore',
    model: 'PandaApp.model.NavigationItem'
});

实例:实例化TreeStore#

//定义TreeModel
Ext.define('PandaApp.model.NavigationItem', {
    extend: 'Ext.data.TreeModel',  //继承自TreeModel
    fields: [   //定义字段
        {
            name: 'Label',
            type: 'string'
        },
        {
            name: 'Route',
            type: 'string'
        }
    ]
});

//定义TreeStore
Ext.define('PandaApp.store.Navigation', {
    extend: 'Ext.data.TreeStore',
    model: 'PandaApp.model.NavigationItem'
});

实例:设置根节点#

//定义TreeModel
Ext.define('PandaApp.model.NavigationItem', {
    extend: 'Ext.data.TreeModel',  //继承自TreeModel
    fields: [   //定义字段
        {
            name: 'Label',
            type: 'string'
        },
        {
            name: 'Route',
            type: 'string'
        }
    ]
});

//定义TreeStore
Ext.define('PandaApp.store.Navigation', {
    extend: 'Ext.data.TreeStore',
    model: 'PandaApp.model.NavigationItem'
});

//实例化TreeStore
var navigationStore = Ext.create('PandaApp.store.Navigation');

//设置TreeStore根节点
navigationStore.setRoot({
    Label : 'Root',
    children: [
        {
            Label: 'Home',
            Route: '/home'
        },
        {
            Label : 'Users',
            Route : '',
            children: [
                {
                    Label: 'Manage Users',
                    Route: '/manage-users',
                    leaf : true
                },
                {
                    Label: 'Add User',
                    Route: '/add-user',
                    leaf : true
                }
            ]
        }
    ]
});

实例:添加数据到TreeStore#

//定义TreeModel
Ext.define('PandaApp.model.NavigationItem', {
    extend: 'Ext.data.TreeModel',  //继承自TreeModel
    fields: [   //定义字段
        {
            name: 'Label',
            type: 'string'
        },
        {
            name: 'Route',
            type: 'string'
        }
    ]
});

//定义TreeStore
Ext.define('PandaApp.store.Navigation', {
    extend: 'Ext.data.TreeStore',
    model: 'PandaApp.model.NavigationItem'
});

//实例化TreeStore
var navigationStore = Ext.create('PandaApp.store.Navigation');

//设置TreeStore根节点
navigationStore.setRoot({
    Label : 'Root',
    children: [
        {
            Label: 'Home',
            Route: '/home'
        },
        {
            Label : 'Users',
            Route : '',
            children: [
                {
                    Label: 'Manage Users',
                    Route: '/manage-users',
                    leaf : true
                },
                {
                    Label: 'Add User',
                    Route: '/add-user',
                    leaf : true
                }
            ]
        }
    ]
});

//添加子节点
navigationStore.getRoot().appendChild({
    Label: 'Orders',
    Route: '/orders'
});

//插入子节点
navigationStore.getRoot().insertChild(0,{
    Label: 'First',
    Route: '/first'
});

//查找节点
navigationStore.getRoot().findChild('Label', 'Users', true).appendChild({
    Label: 'Import Users',
    Route: '/import-users'
});

作者:重庆熊猫

出处:https://www.cnblogs.com/cqpanda/p/16452783.html

版权:本作品采用「不论是否商业使用都不允许转载,否则按3元1字进行收取费用」许可协议进行许可。

posted @   重庆熊猫  阅读(682)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示