ZTREE 树结构的使用教程

需求:根据不同级别的角色,将角色分在项目树的结构的不同位置,并查询后返回已选中的角色

例: 

         

实现步骤:

1.从 ztree官方 下载所需 js、css等文件,导入项目

2.新建实体类,用于接受返回值(包括扩父类ID,是否打开),具体每一个字段使用,请参考 官方文档 ,

public class TreeNode {
    private String id;//节点ID
    private String pId;
    private String name;
    private String file;
    private String treeIndex;
    private boolean open = false;
    private boolean checked = false;
    private boolean nocheck;
    private String icon;
    private String iconOpen;
    private String iconClose;

    //自定义
    /**
     * 节点类型 1:项目  2:点位
     */
    private Long type = 1L;
    /**
     * 树类型, 1:点位树  2:点位+公司树
     */
    private Integer treeType;

    /**
     * 是否已经拥有该设备  1:已有  0:未拥有
     */
    private Integer owned  ;
    private String serial_number;
//此处省略getter  setter方法
}

下载的demo中(index.html)也有相关使用的方法

3.查询返回主要使用的值,赋值给定义的TreeNode和pid,我项目中定义的结构是  当前角色id为001,子类就为001001,子类的子类就为001001001

eg:

父类      001

子类1    001001

             001002

子1 子   001001001

子2子    001002001

 

4.js 中使用ztree,具体是否展开,可以在后台给实体类的 open 赋值,是否选中,给 check 赋值,具体每一个字段使用,请参考 官方文档 

var setting = {
    view: {
        showIcon:false,
        dblClickExpand: false,
        showLine: true,
        selectedMulti: false
    },
     check: {
        enable: true,
        chkStyle: "checkbox",
        nocheck: true,
        checkbox: {"Y": "", "N": ""}
    },
    data: {
        simpleData: {
            enable:true,
            idKey: "id",//idKey 为 ztree 定义  id 为实体类定义
            pIdKey: "pId", //pIdKey 为 ztree 定义,pid 为实体类定义
            rootPId: ""
        }
    },
    callback: {
        //响应后,拼接显示内容
        beforeClick: function(treeId, treeNode) {
            $("#treeNode").val(treeNode.name+"_"+treeNode.id);
        }
    }
};
/**
 * 获取角色等级树结构
 */
function getAllRole(){
     $.ajax({
        url:path+"role/getRoleTree",
        type:"post",
        dataType:'json',
        cache:'false',
        success: succFunction
    });
    function succFunction(data) {
        //后台组织一下,是否选中,可以将 checked 变为true(选中)
        var obj =data;
        var success = obj.status==200?true:false;
        if(success){
            //加载数据
            var json = obj.result;
            var t = $("#treeDemo");
            t = $.fn.zTree.init(t, setting, json);
        }
    }

}

补充:

保存选中的角色时,可以参考

var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = treeObj.getCheckedNodes(true);

第一行是获取tree对象,然后第二行是得到ztree被选中状态的角色

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值