222 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			222 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
 | 
						||
<!DOCTYPE html>
 | 
						||
<html>
 | 
						||
<head>
 | 
						||
  <meta charset="utf-8">
 | 
						||
  <title>树组件 - layui</title>
 | 
						||
  <meta name="renderer" content="webkit">
 | 
						||
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 | 
						||
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
 | 
						||
  <meta name="apple-mobile-web-app-status-bar-style" content="black"> 
 | 
						||
  <meta name="apple-mobile-web-app-capable" content="yes">
 | 
						||
  <meta name="format-detection" content="telephone=no">
 | 
						||
 | 
						||
  <link rel="stylesheet" href="../src/css/layui.css" media="all">
 | 
						||
  
 | 
						||
  <style>
 | 
						||
    body{padding: 150px;}
 | 
						||
    #test1,#test2{margin-bottom: 100px; width: 400px;}
 | 
						||
  </style>
 | 
						||
</head>
 | 
						||
<body>
 | 
						||
 | 
						||
<div id="test1"></div>
 | 
						||
<div id="test2"></div>
 | 
						||
 | 
						||
<script src="../src/layui.js"></script>
 | 
						||
<script>
 | 
						||
  layui.use(['tree', 'layer'], function(){
 | 
						||
    var tree = layui.tree
 | 
						||
    ,$ = layui.$
 | 
						||
    ,layer = layui.layer
 | 
						||
    ,index = 100;
 | 
						||
    
 | 
						||
    //数据源
 | 
						||
    var data1 = [{
 | 
						||
      label: '一级1'
 | 
						||
      ,id: 1
 | 
						||
      ,children: [{
 | 
						||
        label: '二级1-1'
 | 
						||
        ,id: 3
 | 
						||
        ,href: 'https://www.layui.com/doc/'
 | 
						||
        ,children: [{
 | 
						||
          label: '三级1-1-3'
 | 
						||
          ,id: 23
 | 
						||
          ,children: [{
 | 
						||
            label: '四级1-1-3-1'
 | 
						||
            ,id: 24
 | 
						||
            ,children: [{
 | 
						||
              label: '五级1-1-3-1-1'
 | 
						||
              ,id: 30
 | 
						||
            },{
 | 
						||
              label: '五级1-1-3-1-2'
 | 
						||
              ,id: 31
 | 
						||
            }]
 | 
						||
          }]
 | 
						||
        },{
 | 
						||
          label: '三级1-1-1'
 | 
						||
          ,id: 7
 | 
						||
          ,children: [{
 | 
						||
            label: '四级1-1-1-1'
 | 
						||
            ,id: 15
 | 
						||
            ,href: 'https://www.layui.com/doc/base/infrastructure.html'
 | 
						||
          }]
 | 
						||
        },{
 | 
						||
          label: '三级1-1-2'
 | 
						||
          ,id: 8
 | 
						||
          ,children: [{
 | 
						||
            label: '四级1-1-2-1'
 | 
						||
            ,id: 32
 | 
						||
          }]
 | 
						||
        }]
 | 
						||
      },{
 | 
						||
        label: '二级1-2'
 | 
						||
        ,id: 4
 | 
						||
        ,children: [{
 | 
						||
          label: '三级1-2-1'
 | 
						||
          ,id: 9
 | 
						||
          ,disabled: true
 | 
						||
        },{
 | 
						||
          label: '三级1-2-2'
 | 
						||
          ,id: 10
 | 
						||
        }]
 | 
						||
      },{
 | 
						||
        label: '二级1-3'
 | 
						||
        ,id: 20
 | 
						||
        ,children: [{
 | 
						||
          label: '三级1-3-1'
 | 
						||
          ,id: 21
 | 
						||
        },{
 | 
						||
          label: '三级1-3-2'
 | 
						||
          ,id: 22
 | 
						||
        }]
 | 
						||
      }]
 | 
						||
    },{
 | 
						||
      label: '一级2'
 | 
						||
      ,id: 2
 | 
						||
      ,children: [{
 | 
						||
        label: '二级2-1'
 | 
						||
        ,id: 5
 | 
						||
        ,children: [{
 | 
						||
          label: '三级2-1-1'
 | 
						||
          ,id: 11
 | 
						||
        },{
 | 
						||
          label: '三级2-1-2'
 | 
						||
          ,id: 12
 | 
						||
        }]
 | 
						||
      },{
 | 
						||
        label: '二级2-2'
 | 
						||
        ,id: 6
 | 
						||
        ,children: [{
 | 
						||
          label: '三级2-2-1'
 | 
						||
          ,id: 13
 | 
						||
        },{
 | 
						||
          label: '三级2-2-2'
 | 
						||
          ,id: 14
 | 
						||
          ,disabled: true
 | 
						||
        }]
 | 
						||
      }]
 | 
						||
    },{
 | 
						||
      label: '一级3'
 | 
						||
      ,id: 16
 | 
						||
      ,children: [{
 | 
						||
        label: '二级3-1'
 | 
						||
        ,id: 17
 | 
						||
        ,fixed: true
 | 
						||
        ,children: [{
 | 
						||
          label: '三级3-1-1'
 | 
						||
          ,id: 18
 | 
						||
        },{
 | 
						||
          label: '三级3-1-2'
 | 
						||
          ,id: 19
 | 
						||
        }]
 | 
						||
      },{
 | 
						||
        label: '二级3-2'
 | 
						||
        ,id: 27
 | 
						||
        ,children: [{
 | 
						||
          label: '三级3-2-1'
 | 
						||
          ,id: 28
 | 
						||
        },{
 | 
						||
          label: '三级3-2-2'
 | 
						||
          ,id: 29
 | 
						||
        }]
 | 
						||
      }]
 | 
						||
    }];
 | 
						||
 | 
						||
    var tree1 = tree.render({
 | 
						||
      elem: '#test1'
 | 
						||
      ,data: data1
 | 
						||
      ,click: function(obj){
 | 
						||
        layer.msg(JSON.stringify(obj.data));
 | 
						||
        console.log(obj);
 | 
						||
        
 | 
						||
      }
 | 
						||
      ,oncheck: function(obj){
 | 
						||
        console.log(obj);
 | 
						||
      }
 | 
						||
      ,onsearch:function(obj){
 | 
						||
        console.log(obj);
 | 
						||
      }
 | 
						||
      ,operate: function(obj){
 | 
						||
        var type = obj.type;
 | 
						||
        if(type == 'add'){
 | 
						||
          //ajax操作,返回key值
 | 
						||
          return index++;
 | 
						||
        }else if(type == 'update'){
 | 
						||
          console.log(obj.elem.find('.layui-tree-txt').html());
 | 
						||
        }else if(type == 'del'){
 | 
						||
          console.log(obj);
 | 
						||
        };
 | 
						||
      }
 | 
						||
      ,dragend: function(state, obj, target){
 | 
						||
        console.log(state, obj, target);
 | 
						||
      }
 | 
						||
      ,showCheckbox: true  //是否显示复选框
 | 
						||
      ,key: 'id'  //自定义唯一标识的字段名
 | 
						||
      ,checked: [6, 7, 9]  //选中节点(依赖于 showCheckbox 以及 key 参数)
 | 
						||
      ,spread: [2, 4, 5]  //展开节点(依赖于 key 参数)
 | 
						||
      ,accordion: 0  //是否开启手风琴模式
 | 
						||
      
 | 
						||
      ,onlyIconControl: true //是否仅允许节点左侧图标控制展开收缩
 | 
						||
      ,isJump: 0  //点击文案跳转地址
 | 
						||
      ,edit: true  //操作节点图标
 | 
						||
      //,defaultNodeName: 'newNode'
 | 
						||
      //,showSearch: true  //是否打开节点过滤
 | 
						||
      //,drag: true  //是否开启节点拖拽
 | 
						||
    });
 | 
						||
 | 
						||
    console.log(tree1.getChecked()); //返回当前勾选节点
 | 
						||
    //tree1.setChecked([2, 3]); //设置节点勾选
 | 
						||
 | 
						||
 | 
						||
 | 
						||
    
 | 
						||
    tree.render({
 | 
						||
      elem: '#test2'
 | 
						||
      ,data: data1
 | 
						||
      //,expandClick: false
 | 
						||
      ,showLine: false //关闭连接线
 | 
						||
      ,click: function(obj, state){
 | 
						||
        console.log(obj);
 | 
						||
      }
 | 
						||
      ,oncheck: function(obj, checked, child){
 | 
						||
        if(checked){
 | 
						||
          console.log(obj[0]);
 | 
						||
        }
 | 
						||
      }
 | 
						||
      ,onsearch: function(data, num){
 | 
						||
        console.log(num);
 | 
						||
      }
 | 
						||
      ,dragstart: function(obj, parent){
 | 
						||
        console.log(obj, parent);
 | 
						||
      }
 | 
						||
      ,dragend: function(state, obj, target){
 | 
						||
        console.log(state, obj, target);
 | 
						||
      }
 | 
						||
    });
 | 
						||
     
 | 
						||
  });
 | 
						||
</script>
 | 
						||
 | 
						||
</body>
 | 
						||
</html> |