layUI 树节点下拉框

1.目标需求

1.在layUI框架下,做出树节点下拉框


image.png

2.实现步骤

1.html代码

<div class="layui-form-item">
    <label class="layui-form-label">所属上级</label>
    <div class="layui-input-block">
      <div class="layui-form-select downpanel">
        <div class="layui-select-title"><input id="chooseName" type="text" placeholder="请选择所属上级" value="" class="layui-input"><input type="hidden" id="chooseID"><i
            class="layui-edge"></i></div>
        <dl class="layui-anim layui-anim-upbit">
          <dd>
            <div id="test13" class="demo-tree-more"></div>
          </dd>
        </dl>
      </div>
    </div>
  </div>

2.js代码

//树节点数据
  var data1 = [{
    title: '江西',
    id: 1,
    children: [{
      title: '南昌',
      id: 1000,
      children: [{
        title: '青山湖区',
        id: 10001
      }, {
        title: '高新区',
        id: 10002
      }]
    }, {
      title: '九江',
      id: 1001
    }, {
      title: '赣州',
      id: 1002
    }]
  }, {
    title: '广西',
    id: 2,
    children: [{
      title: '南宁',
      id: 2000
    }, {
      title: '桂林',
      id: 2001
    }]
  }, {
    title: '陕西',
    id: 3,
    children: [{
      title: '西安',
      id: 3000
    }, {
      title: '延安',
      id: 3001
    }]
  }];
  layui.use(['admin', 'table', 'laydate', 'layarea', 'tree', 'util'], function () {
    var $ = layui.$;
    var tree = layui.tree;
    var util = layui.util;
    tree.render({
      elem: '#test13',
      data: data1,
      click: function (obj) {
        console.log(obj.data); //得到当前点击的节点数据
        $("#chooseName").val(obj.data.title);
        $("#chooseID").val(obj.data.id);
      }
    });
    //下拉交互显示
    $(".downpanel").on("click", ".layui-select-title", function (e) {
      $(".downpanel").not($(this).parents(".downpanel")).removeClass("layui-form-selected");
      $(this).parents(".downpanel").toggleClass("layui-form-selected");
      layui.stope(e);
    }).on("click", "dl i", function (e) {
      layui.stope(e);
    });
    $(document).on("click", function (e) {
      $(".downpanel").removeClass("layui-form-selected");
    });
  })

layUI 框架引用就不说了,此处js代码引用了蛮多多余的layUI模块(可酌情引用),主要原理是结合form模块下的select组件和tree模块,达到下拉显示树节点的效果,

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容