layui-tree 实现

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <menuName>树组件</menuName>
    <link rel="stylesheet" href="assets/component/layui/css/layui.css">
    <!--<link rel="stylesheet" href="https://layui.hcwl520.com.cn/layui/css/layui.css">-->
</head>
<body>
<div id="rolesTree"></div>
<script src="./assets/component/layui/layui.js"></script>
<!--<script src="https://layui.hcwl520.com.cn/layui/layui.js"></script>-->
<script>
    // https://www.layui.com/doc/modules/tree.html
    layui.use('tree', function() {
        var tree = layui.tree;

        //渲染
        var inst1 = tree.render({
            elem: '#rolesTree',             //绑定元素
            showCheckbox: true,          // 是否展示复选框 false
            edit: false,                 // 是否支持编辑 false
            accordion: false,            // 手风琴模式 false - true:互斥
            isJump: false,               // 是否允许节点跳转 false - true:与data下面的href属性一起用
            showLine: true,              // 是否开启链接线 true
            text: {
                defaultNodeName: '未命名' //节点默认名称
                , none: '无数据' //数据为空时的提示文本
            },
            data: [{
                menuName: 'MES', //一级菜单
                id: 'menu1',
                // spread: true,             // 节点是否展开 false - true:适用于有children
                disabled: false,          // 节点复选框是否禁用 false - true:不影响子节点的禁用状态
                checked: false
                , children: [{
                    menuName: '订单管理' //二级菜单
                    ,checked: false
                    , children: [{
                        menuName: 'crs-订单', //三级菜单
                        checked: true   // 节点是否为开启状态 false - true:子节点与父节点不能同时开启,否则会取反
                    }, {
                        menuName: '积分-订单', //三级菜单
                        checked: true
                    }, {
                        menuName: '商户端-订单', //三级菜单
                        checked: false
                    },]
                }, {
                    menuName: '商品管理' //二级菜单
                    ,checked: false
                    , children: [{
                        menuName: '高新区', //三级菜单
                        checked: true
                    }, {
                        menuName: '昌南区', //三级菜单
                        checked: false
                    }, {
                        menuName: '昌西区', //三级菜单
                        checked: false
                    },]
                },]
            }, {
                menuName: 'UA' //一级菜单
                ,checked: false
                , children: [{
                    menuName: '用户管理', //二级菜单\
                    children: []
                    ,checked: true
                },{
                    menuName: '权限管理', //二级菜单
                    children: [{
                        menuName:'组织架构',
                        checked: true
                    },{
                        menuName:'组织架构2',
                        checked: false
                    },]
                    ,checked: false
                },{
                    menuName: '财务管理', //二级菜单
                    children: [{
                        menuName:'添加余额'
                    }]
                    ,checked: false
                },]
            }]
            , click: function (obj) {
                console.log(obj.data); //得到当前点击的节点数据
                console.log(obj.state); //得到当前节点的展开状态:open、close、normal
                console.log(obj.elem); //得到当前节点元素

                console.log(obj.data.children); //当前节点下是否有子节点
            }
            ,id: 'demoId'
            , oncheck: function (obj) {
                console.log(obj.data); //得到当前点击的节点数据
                console.log(obj.checked); //得到当前节点的展开状态:open、close、normal
                console.log(obj.elem); //得到当前节点元素
            }
            ,operate: function(obj) {
                var type = obj.type; //得到操作类型:add、edit、del
                var data = obj.data; //得到当前节点的数据
                var elem = obj.elem; //得到当前节点元素

                //Ajax 操作
                console.log(elem.find('.layui-tree-txt').html()); //得到修改后的内容
                var id = data.id; //得到节点索引
                if (type === 'add') { //增加节点
                    //返回 key 值
                    return 123;
                } else if (type === 'update') { //修改节点
                    console.log('编辑')

                } else if (type === 'del') { //删除节点
                    console.log('删除')

                }
            }
        });


        //执行节点勾选
        tree.setChecked('demoId', 1); //单个勾选 id 为 1 的节点
        tree.setChecked('demoId', [2, 3]); //批量勾选 id 为 2、3 的节点

        var checkData = tree.getChecked('demoId');  // 获得选中的节点。

        console.log('当前选中的',checkData)
    })
</script>
</body>
</html>

转载于:https://my.oschina.net/wsxiao/blog/3072058

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值