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字进行收取费用」许可协议进行许可。
本文来自博客园,作者:重庆熊猫,转载请注明原文链接:https://www.cnblogs.com/cqpanda/p/16452783.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类