美文网首页
jQuery树组件 jstree使用

jQuery树组件 jstree使用

作者: 千叶鸟 | 来源:发表于2017-04-26 17:41 被阅读230次

前言

jstree是一个比较好用的,可定制化支持较好的一个jQuery树组件,最近项目里用到了它,但是发现网上的文档以及使用方式并不适合当前项目的实际开发,又或者是英文看起来比较复杂,因此对这次使用做出相关记录,以备不时之需。

相关文档
官网地址
github 地址

实例代码

    /**
     * 构建课程结构树
     */
    var jsTreeComponent = {
        init: function () {
            /*发起ajax请求*/
            $.getJSON('/你后台获取树结构的api'), function (data) {
                /*这一块的逻辑根据自己的需求进行处理*/
                if (data.success != true) {
                    $jsTree.html('加载失败');
                    return;
                } else if (data.data.structureList.length == 0) {
                    $jsTree.html('暂无数据');
                    return;
                }
                var structList = data.data.structureList;

                /*以下是jstree所需对象的特定格式(如果是异步请求,那么是另外一种格式,这里就不多介绍了)*/
                var jsTreeBean = {
                    id: "string", // 必要的参数
                    parent: "string", // 必要的参数
                    text: "string", // 节点名称
                    icon: "glyphicon glyphicon-tag", // 图标,可使用自定义样式
                    state: {
                        opened: true,  // 配置是否打开
                        disabled: false,  // 配置是否不可选中
                        selected: false  // 配置是否选中
                    },
                    li_attr: {},  // attributes for the generated LI node
                    a_attr: {}  // attributes for the generated A node
                };
                var jsTreeBeanList = [];

                /*根据后台返回来构建jsTreeBean对象,且填充到jsTreeBeanList数组*/
                for (var i = 0; i < structList.length; i++) {
                    var current = structList[i];
                    var newObj = Object.assign({}, jsTreeBean);

                    newObj.id = current.id;
                    newObj.text = current.name;
                    newObj.cusLevel = current.level;    //自定义的层级,0是章,1是节
                    if (current.level == 0) {
                        newObj.icon = 'glyphicon glyphicon-bookmark';
                        newObj.parent = '#';
                    } else {
                        newObj.parent = current.parentId;
                    }

                    jsTreeBeanList.push(newObj);
                }

                /*核型配置类,用于使用构建好的数组生成树*/
                $jsTree.jstree({
                    'core': {
                        'check_callback': true,
                        'data': jsTreeBeanList
                    }
                });
            });
        },

        /*事件对象*/
        eventListener: function () {
            /*监听'改选'这个事件,其他事件的监听参考官方文档*/
            $jsTree.on("changed.jstree", function (e, data) {
                /*如果点击的cusLevel是1(节),则获取学习资源*/
                if (data.node.original.cusLevel == 1) {
                    service.loadLearnResources(data.node.id)
                }
            });
        }
    };

相关文章

  • jQuery树组件 jstree使用

    前言 jstree是一个比较好用的,可定制化支持较好的一个jQuery树组件,最近项目里用到了它,但是发现网上的文...

  • jstree树插件的使用

    jstree -- 使用JSON 数据组装成树 资源下载:http://download.csdn.net/det...

  • vuecli3全局引入jquery

    之前使用jquery都是每个组件引入 这种方式需要在每个要使用jquery的组件里面引入一下,比较麻烦,分享一下全...

  • 使用JQuery组件

    在vue中使用jquery相关组件,需要先在项目中引入jquery 配置项目 在项目中就可以使用$('#')或jQ...

  • 上手jQuery UI

    什么是jQuery UI? jQuery UI是一个基于jQuery JavaScript的组件库,您可以使用它们...

  • Vue实现todolist删除功能

    子组件向父组件传递数据使用 this.$emit('delete',this.index)该方法 Jquery实现添加值

  • 常用组件

    前段组件 Jquery.validate 通常可以使用jquery.validate.js的插件进行前端数据的校验...

  • jstree的使用

    所需资源下载:jstree资源下载 JStree官网:jstree官网 1.需要包含的资源 a. 需要jstres...

  • jsTree使用小结

    最近使用了jstree这个前端插件,记录一下我在使用过程中使用到的一些小tip。 1.查询 //查询menuTre...

  • jstree的使用

    所需资源下载:jstree资源下载 JStree官网:jstree官网 1.需要包含的资源 a. 需要jstres...

网友评论

      本文标题:jQuery树组件 jstree使用

      本文链接:https://www.haomeiwen.com/subject/sqhwzttx.html