layui.tree組件的使用以及搜索節(jié)點(diǎn)功能的實(shí)現(xiàn)
由于項(xiàng)目樹(shù)形節(jié)點(diǎn)比較多需要增加節(jié)點(diǎn)搜索功能,所以研究了一下加上社區(qū)伙伴的支持,目前功能可以簡(jiǎn)單實(shí)現(xiàn)但細(xì)節(jié)還需要修改,添加上了組件的基本使用方法和屬性,現(xiàn)在分享出來(lái)~
HTML:
<div class="layui-btn-container"> <button class="layui-btn layui-btn-sm" type="button" lay-demo="getChecked">獲取選中節(jié)點(diǎn)數(shù)據(jù)</button> <button class="layui-btn layui-btn-sm" type="button" lay-demo="setChecked">勾選指定節(jié)點(diǎn)</button> <button class="layui-btn layui-btn-sm" type="button" lay-demo="reload">重載實(shí)例</button> </div> <div class="demoTable"> <div class="layui-inline"> <input type="text" class="layui-input" id="tree_name" autocomplete="off" /> </div> <button class="layui-btn" id="btn_query">搜索</button> </div> <div id="test1" class="demo-tree demo-tree-box"></div>
JavaScript:
layui.use(['tree', 'util'], function(){ var $ = layui.$; var tree = layui.tree ,layer = layui.layer ,util = layui.util //模擬數(shù)據(jù) ,data1 = [{ title: '江西' ,id: 1 ,children: [{ title: '南昌' ,id: 1000 ,children: [{ title: '青山湖區(qū)' ,id: 10001 },{ title: '高新區(qū)' ,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 }] },{ title: '四川(可跳轉(zhuǎn))' ,id: 4 ,href: 'https://www.layui.com/' ,children: [{ title: '成都' ,id: 3000 ,checked: true //默認(rèn)選中 },{ title: '雅安' ,id: 3001 }] }]; //常規(guī)用法 tree.render({ elem: '#test1' //默認(rèn)是點(diǎn)擊節(jié)點(diǎn)可進(jìn)行收縮 ,data: data1 ,id: 'demoId1' ,showCheckbox: true //是否顯示復(fù)選框 ,isJump: true //是否允許點(diǎn)擊節(jié)點(diǎn)時(shí)彈出新窗口跳轉(zhuǎn) ,showLine: true //是否開(kāi)啟連接線 ,edit: ['add', 'update', 'del'] //開(kāi)啟操作節(jié)點(diǎn)的圖標(biāo) ,click: function(obj){ var data = obj.data; //獲取當(dāng)前點(diǎn)擊的節(jié)點(diǎn)數(shù)據(jù) layer.msg('狀態(tài):'+ obj.state + '<br>節(jié)點(diǎn)數(shù)據(jù):' + JSON.stringify(data)); } }); //按鈕事件 util.event('lay-demo', { getChecked: function(othis){ var checkedData = tree.getChecked('demoId1'); //獲取選中節(jié)點(diǎn)的數(shù)據(jù) layer.alert(JSON.stringify(checkedData), {shade:0}); console.log(checkedData); } ,setChecked: function(){ tree.setChecked('demoId1', [3, 4]); //勾選指定節(jié)點(diǎn) } ,reload: function(){ //重載實(shí)例 tree.reload('demoId1', {}); } }); //搜索節(jié)點(diǎn)值 $('#btn_query').click(function () { var name = $("#tree_name").val(); //搜索值 var elem = $("#test1").find('.layui-tree-txt').css('color', ''); //搜索文本與設(shè)置默認(rèn)顏色 if (!name) { return; //無(wú)搜索值返回 } elem.filter(':contains(' + name + ')').css('color', '#FFB800'); //搜索文本并設(shè)置標(biāo)志顏色 elem.parents('.layui-tree-pack').prev().find('.layui-tree-iconClick').click(); //展開(kāi)選項(xiàng) //console.log(elem); }) });
效果如圖:
搜索功能還有待完善,希望做過(guò)類似功能的伙伴多多溝通和分享~
以上這篇layui.tree組件的使用以及搜索節(jié)點(diǎn)功能的實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
uni-app小程序中父組件和子組件傳值的實(shí)現(xiàn)實(shí)例
uniapp父子組件引用傳值,和vue的一樣,沒(méi)有小程序那樣的麻煩,下面這篇文章主要給大家介紹了關(guān)于uni-app小程序中父組件和子組件傳值的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08JS中JSON對(duì)象和String之間的互轉(zhuǎn)及處理技巧
JSON:JavaScript 對(duì)象表示法(JavaScript Object Notation),其實(shí)JSON就是一個(gè)JavaScript的對(duì)象(Object)而已。接下來(lái)通過(guò)本文給大家介紹JS中JSON對(duì)象和String之間的互轉(zhuǎn)及處理技巧,需要的朋友一起學(xué)習(xí)吧2016-04-04javascript實(shí)現(xiàn)日期按月份加減
JavaScript實(shí)現(xiàn)日期加減計(jì)算功能代碼實(shí)例,因?yàn)樵趈s中沒(méi)有類似C#中的AddDays方法,所以要想實(shí)現(xiàn)日期加減的話,就需要自己寫(xiě)函數(shù)來(lái)實(shí)現(xiàn)。這里分享給大家,有需要的小伙伴可以參考下2015-05-05Js實(shí)現(xiàn)中國(guó)公民身份證號(hào)碼有效性驗(yàn)證實(shí)例代碼
這篇文章主要介紹了Js實(shí)現(xiàn)中國(guó)公民身份證號(hào)碼有效性驗(yàn)證實(shí)例代碼,可以識(shí)別身份證號(hào)碼的正確性,有興趣的可以了解一下2017-05-05boostrapTable的refresh和refreshOptions區(qū)別淺析
在使用bootstrapTable時(shí),刷新數(shù)據(jù)有兩個(gè)方法refresh、refreshOptions,在其用法上有點(diǎn)區(qū)別,接下來(lái)通過(guò)本文給大家分享boostrapTable的refresh和refreshOptions的區(qū)別,需要的朋友可以參考下2017-01-01Jquery作者John Resig自己封裝的javascript 常用函數(shù)
Jquery作者John Resig自己封裝的常用函數(shù), 大家可以參考下。2009-11-11fastadmin如何讓后臺(tái)的日期顯示成年月日格式(推薦)
FastAdmin是一款基于ThinkPHP5+Bootstrap的極速后臺(tái)開(kāi)發(fā)框架,本文給大家介紹fastadmin的后臺(tái)時(shí)間戳字段如何顯示成年月日的日期格式,感興趣的朋友跟隨小編一起看看吧2023-10-10