【连载】研究EasyUI系统—Tree组件(基本属性和用法)

  tree组件是一种树形组件,可以通过垂直形式一级级展开数据。tree组件往往用于数据或目录的导航。我们讲解easyui框架时所使用的开发工具Netbean中,左侧“项目”、“文件”、“服务”等栏目,使用的便是树形组件。easyui框架中的tree组件,除了可伸缩/展开外,同样还具备单/复选、拖动、编辑等多种功能,是实际项目开发中经常用到的组件。
  tree组件效果图
  通过上图我们基本可以看到tree组件的架构和效果。下面我们通过较为简单的代码了解一下tree组件的基本用法。

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css" />
        <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css" />
        <script type="text/javascript" src="easyui/jquery.min.js"></script>
        <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
        <title>treeDemo</title>
</head>
<body>
<div class="container">
<ul id="treeContainer" class="easyui-tree">
<li><span><a href="#">人力资源部</a></span></li>
            <li><span><a href="#">企业信息化部</a></span></li>
            <li><!--一级目录总务部,下有二级目录 -->
                <span>总务部</span>
                <ul><!-- 二级目录 -->
                    <li><span><a href="#">法务处</a></span></li>
                    <li><span><a href="#">综合处</a></span></li>
                    <li><span>后勤保障处</span></li>
                </ul>
            </li>
            <li><!--一级目录硬件事业部,下有二级目录 -->
                <span>硬件事业部</span>
                <ul><!-- 二级目录 -->
                    <li><span>传感器研发中心</span></li>
                    <li><span>芯片研发中心</span></li>
                </ul>
            </li>
            <li><!--一级目录软件事业部,下有二级目录 -->
                <span>软件事业部</span>
                <ul><!-- 二级目录 -->
                    <li><span>负载均衡研发中心</span></li>
                    <li>
                        <span>云计算研发中心</span>
                        <ul>
                            <li><span>政务云分中心</span></li>
                            <li><span>企业云分中心</span></li>
                        </ul>
                    </li>
                </ul><!-- 二级目录 -->
            </li><!--一级目录软件事业部-->
        </ul>
    </div>
</body>
</html>

  上例代码展示了tree组件最基础的用法。代码构造了一个结构固定、功能单一的导航目录。这个导航目录目录深度最深为三级。
  构造tree组件的第一步就是建立一个样式为”easyui-tree”的ul元素,这是tree组件的最外层框架,然后在该元素中建立各子节点。每一个直接子节点都包含在li元素中,通过元素建立节点标题。开发人员又可以在子节点所在的li元素中再建立

  • 元素,这样就又建立了孙节点的框架,然后在孙节点框架内再次通过li元素构造孙节点。事实上,tree组件的构造过程是一个迭代的过程。
      tree组件里的每个节点都包含下列属性(是节点属性,而非tree组件属性):
       id:节点id;
       text:节点的文本标题;
       states:节点状态,表示处于展开或是收缩状态。有“open”和“closed”两种值,默认为“open”;
       checked:节点是否被选中;
       attributes:自定义额外的属性;
       children:子节点。以json数组的形式建立子节点。
      来看一下tree组件的属性。

属性名称属性值类型属性默认值描述
url字符串null远程链接,获取远程服务器数据。
method字符串“post”与http中的method一致。
animate布尔值false节点展开/收缩时是否显示动画。
checkbox布尔值false是否显示复选框。
cascadeCheck布尔值true是否允许选择父节点复选框时一同选中所属子节点复选框。
onlyLeafCheck布尔值false值是否只有叶节点才显示复选框。
lines布尔值false是否显示节点间的连接线。
dnd布尔值false是否启用拖拽功能(drop和drag)。
data数组null用于构造节点的数据。
queryParamsjson{}获取远端服务器时的额外请求参数。1.4及以上版本支持。
formatter方法json loader解析显示节点的文本标题(节点的text属性)。
loader方法用于解析加载从远程服务器获取的数据。
loadFilter方法对数据进行过滤后显示。

  url和method配合使用,从远程服务器上获取数据并构造组件,method与标准http中的method一致,可以是post或get。关于url、data、queryParams属性以及如何通过远程服务器数据动态构造tree目录,请参阅《研究EasyUI系统—Tree组件(高级属性和用法)》一文。(http://blog.csdn.net/redeg/article/details/70226548)。
  关于checkbox、cascadeCheck、onlyLeafCheck、lines,我们先看下图。
checkbox、lines属性效果图
  上图从左至右,第一幅图无复选框和连接线(checkbox和lines属性为false,)第二幅图增加了复选框(checkbox为true),第三幅图增加了连接线(lines为true)。所以根据上图我们能很清楚看到checkbox和lines属性的用途。
  cascadeCheck为true时,我们选中了父节点,其下属的子节点也一并选中。
  onlyLeafCheck指只有叶节点才显示复选框。
  formatter属性用于解析每个节点的文本标题。它的属性值是方法,参数是待解析的节点。
  loader属性用于解析加载从远程服务器上获取的数据,用法与传统的$.ajax类似,属性也是方法。
  loadFilter属性用于对数据的过滤。属性值是方法。
  关于formatter、loader、loadFilter三个属性,与远程动态获取数据一起在《研究EasyUI系统—Tree组件(高级属性和用法)》一文讲述。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值