ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ExtJS-Data Package (数据处理包) TreeModel类型

2022-07-13 08:02:45  阅读:177  来源: 互联网

标签:string Package Route TreeModel Label Ext treeModelInstance Data


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

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

Ext.data.TreeModel(树型模型)

说明

Ext.data.TreeModel用于表示树型模型
Ext.data.TreeModel继承自Ext.data.Model
常用于配合Ext.data.TreeStore使用

实例:定义TreeModel

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

实例:添加子节点

appendChild: This adds the specified node(s) as the last child of the current node

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

//定义TreeModel的实例
var treeModelInstance = Ext.create('BizDash.model.NavigationItem');

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

//添加子节点(多个)
treeModelInstance.appendChild([{
    Label: 'Orders',
    Route: '/orders'
},{
    Label: 'First',
    Route: '/first'
}]);

实例:插入子节点

insertChild: This inserts the new node at the specified position

//定义TreeModel
Ext.define('BizDash.model.NavigationItem', {
    extend: 'Ext.data.TreeModel',  //继承自TreeModel
    fields: [   //定义字段
        {
            name: 'Label',
            type: 'string'
        },
        {
            name: 'Route',
            type: 'string'
        }
    ]
});
//定义TreeModel的实例
var treeModelInstance = Ext.create('BizDash.model.NavigationItem');
//插入子节点
treeModelInstance.insertChild(0,{
    Label: 'First',
    Route: '/first'
});

实例:移除子节点

removeChild: This removes the specified node from the child collection
//定义TreeModel
Ext.define('BizDash.model.NavigationItem', {
    extend: 'Ext.data.TreeModel',  //继承自TreeModel
    fields: [   //定义字段
        {
            name: 'Label',
            type: 'string'
        },
        {
            name: 'Route',
            type: 'string'
        }
    ]
});

//定义TreeModel的实例
var treeModelInstance = Ext.create('BizDash.model.NavigationItem');

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

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

//查找节点
var node = treeModelInstance.findChild('Label', 'First', true);
//移除子节点
treeModelInstance.removeChild(node);

实例:遍历子节点

eachChild: This executes a function on each of the child nodes

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

//定义TreeModel的实例
var treeModelInstance = Ext.create('BizDash.model.NavigationItem');

//添加子节点(多个)
treeModelInstance.appendChild([{
    Label: 'Orders',
    Route: '/orders'
},{
    Label: 'First',
    Route: '/first'
}]);

//遍历子节点
treeModelInstance.eachChild(function(child){
    console.log(child);
});

实例:查找子节点

findChild: This finds the first child that matches the given property/value given

//定义TreeModel
Ext.define('BizDash.model.NavigationItem', {
    extend: 'Ext.data.TreeModel',  //继承自TreeModel
    fields: [   //定义字段
        {
            name: 'Label',
            type: 'string'
        },
        {
            name: 'Route',
            type: 'string'
        }
    ]
});
//定义TreeModel的实例
var treeModelInstance = Ext.create('BizDash.model.NavigationItem');
//查找节点
var node = treeModelInstance.findChild('Label', 'First', true);

实例:检测是否叶子节点

isLeaf: This determines if the current node is a leaf without any further children

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

//定义TreeModel的实例
var treeModelInstance = Ext.create('BizDash.model.NavigationItem');

//添加子节点(多个)
treeModelInstance.appendChild([{
    Label: 'Orders',
    Route: '/orders'
},{
    Label: 'First',
    Route: '/first'
}]);

//检测是否叶子节点
var node = treeModelInstance.findChild('Label', 'First', true);
console.log(node.isLeaf()); //false

标签:string,Package,Route,TreeModel,Label,Ext,treeModelInstance,Data
来源: https://www.cnblogs.com/cqpanda/p/16452706.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有