浅谈Layui的eleTree树式选择器使用方法

时间:2021-05-18

模块eleTree 介绍、下载

地址:https://fly.layui.com/extend/eleTree/

使用

JS位置 ,layui/lay/modules/eleTree.js;

CSS位置 ,layui/css/modules/eleTree/eleTree.css;

页面css引用 引用 layui/css/layui.css"和 layui/css/modules/eleTree/eleTree.css ;

页面js引用 引用 layui/layui.js ;

页面div

<div class="eleTree ele1" lay-filter="data1"></div><div class="eleTree ele2" lay-filter="data2"></div><div class="eleTree ele3" lay-filter="data3"></div><button class="layui-btn">获取选中数据</button>

script

<script> layui.config({ base: "layui/lay/modules/" //eleTree.js所在目录 }).use(['jquery','eleTree'], function(){ var $ = layui.jquery; var eleTree = layui.eleTree; var data=[ { "label": "a", "spread": true, "children": [ { "label": "aa1", "spread": true, "disabled": true, "children": [ { "label": "aaa1", "children": [ { "label": "aaaa1", "checked": true }, { "label": "bbbb1" } ] }, { "label": "bbb1", "spread": true, "children": [ { "label": "aaaa1", "checked": true } ] }, { "label": "ccc1" } ] }, { "label": "bb1", "children": [ { "label": "aaaa1", "checked": true } ] }, { "label": "cc1" } ] }, { "label": "c", "children": [ { "label": "aa1", "disabled": true }, { "label": "bb1", "checked": true } ] } ] var data2=[ { "label": "a", "spread": true, "children": [ { "label": "aa1", "spread": true, "disabled": true }, { "label": "bb1", "children": [ { "label": "aaaa1", "checked": true } ] }, { "label": "cc1" } ] }, { "label": "c", "children": [ { "label": "aa1", "disabled": true }, { "label": "bb1", "checked": true } ] } ]; //数据一定要在 渲染render前 render里的url 和 type 应该是用来ajax获取远程数据的,不过不好用。eleTree.js中要求比较多data.Code 等等,就没用,直接页面取得了。将data ,data1,data3 换成自己的。 eleTree.render({ elem: '.ele1', // url: "/tree", // type: "post", data: data, showCheckbox: true, contextmenuList: ["copy","add","edit","remove"], drag: true, accordion: true }); eleTree.render({ elem: '.ele2', // url: "../../data/home/tree.json", // type: "post", data: data2, showCheckbox: true, contextmenuList: ["add","remove"], drag: true, accordion: true }); var data3=[ { "label": "a" }, { "label": "aa", "isLeaf": true } ] var k=1; eleTree.render({ elem: '.ele3', // url: "/tree", // type: "post", data: data3, showCheckbox: true, contextmenuList: ["copy","add","edit","remove"], // drag: true, accordion: true, lazy: true, loadData: function(item,callback) { setTimeout(function() { k++; var d = [ { "label": "d" } ]; console.log(item); if(k>=3){ d[0].isLeaf=true; return void callback(d); } callback(d); }, 500); } });//各种 方法 eleTree.on("add(data1)",function(data) { console.log(data); // 若后台修改,则重新获取后台数据,然后重载 // eleTree.reload(".ele1", {where: {data: JSON.stringify(data.data)}}) }) eleTree.on("edit(data1)",function(data) { console.log(data); }) eleTree.on("remove(data1)",function(data) { console.log(data); }) eleTree.on("toggleSlide(data1)",function(data) { console.log(data); }) eleTree.on("checkbox(data1)",function(data) { console.log(data); }) eleTree.on("drag(data2)",function(data) { console.log(data); }) $(".layui-btn").on("click",function() { console.log(eleTree.checkedData(".ele2")); //这里的 eleTree.checkedData() 取得的是数组; //下面是我项目中,取得数据,赋给一个textarea的过程,有去重过滤。 //*********项目代码示例*************** var a = eleTree.checkedData(".ele1"), b = a.length; if (0 >= b) { Wind.use('artDialog',function(){ art.dialog({ id : "alert", icon : "error", content : "请至少选择一个地区", ok : function() {} }); }); }else { var thisCitys = eleTree.checkedData(".ele1"); var d=""; var new_arr=[]; for (var f = 0; f < thisCitys.length; f++) { if($.inArray(thisCitys[f]['label'],new_arr)==-1) { new_arr.push(thisCitys[f]['label']); } } //去重 for(var i=0;i<new_arr.length; i++){ d = isNull(d) ? new_arr[i] : d + ("\n" + new_arr[i]) } // } $("#area").val(d); //*********项目代码示例 结束*************** }); // 数据重新加载 这里也可以做切换数据用 $(".layui-btn2").on("click",function() { eleTree.reload(".ele1", {data: data3}) }) //*********项目代码示例*************** $("#change").on("click",function() { if($("#change").attr("class")=='change_short btn btn-warning btn-sm'){ eleTree.reload(".ele1", {data: data_short}); $("#change").html("添加 区/县后缀"); $("#change").attr("class","change_all btn btn-warning btn-sm"); }else{ eleTree.reload(".ele1", {data: data}); $("#change").html("去掉 区/县后缀"); $("#change").attr("class","change_short btn btn-warning btn-sm"); } }); //*********项目代码示例 结束*************** }); </script>

效果

以上这篇浅谈Layui的eleTree树式选择器使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章