zoukankan      html  css  js  c++  java
  • 【ExtJS】一个简单的TreePanel

      在ExtJS中,构造一个树形结构变得很简单。

      需要用到的:

        Ext.tree.Panel

          TreePanel提供树形结构的UI表示的树状结构数据。 一个TreePanel必须绑定一个Ext.data.TreeStore。TreePanel通过columns配置,支持多列。

        Ext.data.TreeStore

          TreeStore是一个允许内嵌数据的存储区实现。

          它为加载节点提供了一些方便的方法, 并能够使用分层树状结构来结合一个store。 此类也可以方便的从Tree中进行传播一些事件。

      此外,还有能用到的一些配置属性:

        Ext.data.TreeStore:

          expanded: true/false  //用来设置文件夹默认展开(true)或者收缩(false),默认为false

          root: {}         //根节点,节点设置的开始

          children: [{},{}]     //子节点的开始

          leaf: true/false      //用来辨识该文件是否还有子节点,从而判断是否为本节点渲染展开图标或箭头。true为没有子节点,默认为flase

        Ext.tree.Panel:

          store: store      //该树结构关联的数据store

          rootVisible: true/false //是否隐藏根节点

      其他诸如"width"、"height"、margin、border、renderTo等皆有的配置属性就不提了。


      接下来,上代码:

    Ext.define('My.TreeStore',{
        extend: 'Ext.data.TreeStore',
        root: {
            expanded: true,
            children: [
               { text: 'src', expanded: true, children: [
                    { text: 'file1',leaf: true },
                    { text: 'file2',leaf: true }
                ]},
                {text: 'file', leaf: true}
            ]
        }
    });
    
    Ext.define('My.TreePanel',{
        extend: 'Ext.tree.TreePanel',
        xtype: 'mytreepanel',    
         300,    
        rootVisible: true,    
    });
    
    Ext.onReady(function(){
        var store = Ext.create('My.TreeStore');
        var treepanel = Ext.create('My.TreePanel',{
            store: store,
            renderTo: Ext.getBody()
        });
    });

    结果:

          


      下一步,通过后台遍历文件目录,然后Extjs向后台发出请求,后台响应回一个JSON格式的数据,再然后生成遍历树,给树添加点击事件,在另一个panel里构建一个资源管理器,点击遍历树的文件夹会在资源管理器里展示文件夹内的所有文件......暂时考虑到这里吧。

  • 相关阅读:
    SpringCloudAlibaba学习笔记-简介
    SpringCloudAlibaba学习笔记-目录
    go语言学习笔记-目录
    go语言学习笔记-配置idea开发go编程语言并配置导入本地包
    go语言学习笔记-Windows10开发环境安装和环境变量配置
    我与阿里云的日常-QuickBI开发教程
    我与阿里云的日常-阿里云帐号注册
    消息队列 RabbitMq(6)高级特性
    消息队列 (5) RabbtMQ SpringBoot整合
    Nginx的安装和使用
  • 原文地址:https://www.cnblogs.com/linxiong945/p/4102731.html
Copyright © 2011-2022 走看看