当前位置: 首页 > news >正文

layui 集成 ztree异步加载

首先,layui环境搭建,ztree环境引入
ztree的js和css都要引入,我这里暂时用的是core包在这里插入图片描述>在这里插入图片描述
在这里插入图片描述在这里插入图片描述

静态,一句话就够了

<!-- 左侧菜单树形组件 --><div class="layui-col-md3"><div class="layui-footer "><h1>左侧菜单树形组件</h1><ul id="menuTree" class="ztree"></ul></div></div>

js,这里主要就是格式要跟ztree对应
childNodes[i].isParent = childNodes[i].isParent; 千万不要忽略这个参数

// 定义菜单树的模块
var MenuTree = {init: function () {// 初始化菜单树var setting = {view: {selectedMulti: false},async: {enable: true,url:"youurl",autoParam:["id=node"],otherParam:{"otherParam":"zTreeAsyncTest"},dataFilter: filter},callback: {beforeClick: beforeClick,beforeAsync: beforeAsync,onAsyncError: onAsyncError,onAsyncSuccess: onAsyncSuccess}};function filter(treeId, parentNode, childNodes) {if (!childNodes) return null;for (var i=0, l=childNodes.length; i<l; i++) {childNodes[i].name = childNodes[i].text;childNodes[i].pId = childNodes[i].parentId;childNodes[i].isParent = childNodes[i].isParent;}return childNodes;}function beforeClick(treeId, treeNode) {if (!treeNode.isParent) {alert("请选择父节点");return false;} else {return true;}}var log, className = "dark";function beforeAsync(treeId, treeNode) {className = (className === "dark" ? "":"dark");showLog("[ "+getTime()+" beforeAsync ]&nbsp;&nbsp;&nbsp;&nbsp;" + ((!!treeNode && !!treeNode.name) ? treeNode.name : "root") );return true;}function onAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {showLog("[ "+getTime()+" onAsyncError ]&nbsp;&nbsp;&nbsp;&nbsp;" + ((!!treeNode && !!treeNode.name) ? treeNode.name : "root") );}function onAsyncSuccess(event, treeId, treeNode, msg) {showLog("[ "+getTime()+" onAsyncSuccess ]&nbsp;&nbsp;&nbsp;&nbsp;" + ((!!treeNode && !!treeNode.name) ? treeNode.name : "root") );}function showLog(str) {if (!log) log = $("#log");log.append("<li class='"+className+"'>"+str+"</li>");if(log.children("li").length > 8) {log.get(0).removeChild(log.children("li")[0]);}}function getTime() {var now= new Date(),h=now.getHours(),m=now.getMinutes(),s=now.getSeconds(),ms=now.getMilliseconds();return (h+":"+m+":"+s+ " " +ms);}function refreshNode(e) {var zTree = $.fn.zTree.getZTreeObj("menuTree"),type = e.data.type,silent = e.data.silent,nodes = zTree.getSelectedNodes();if (nodes.length == 0) {alert("请先选择一个父节点");}for (var i=0, l=nodes.length; i<l; i++) {zTree.reAsyncChildNodes(nodes[i], type, silent);if (!silent) zTree.selectNode(nodes[i]);}}$.fn.zTree.init($("#menuTree"), setting);$("#refreshNode").bind("click", {type:"refresh", silent:false}, refreshNode);$("#refreshNodeSilent").bind("click", {type:"refresh", silent:true}, refreshNode);$("#addNode").bind("click", {type:"add", silent:false}, refreshNode);$("#addNodeSilent").bind("click", {type:"add", silent:true}, refreshNode);}
};
http://www.lryc.cn/news/118763.html

相关文章:

  • LeetCode面向运气之Javascript—第27题-移除元素-98.93%
  • 谷歌云 | 电子商务 | 如何更好地管理客户身份以支持最佳的用户体验
  • 行业追踪,2023-08-09
  • 视图、存储过程、函数、触发器
  • 数学建模学习(10):遗传算法
  • 私域流量整合:社群裂变的综合策略
  • Redis的RDB持久化
  • 三、MySql表的操作
  • 【模型加速部署】—— Pytorch自动混合精度训练
  • 【Qt】信号槽的三种连接方式
  • Jtti:Ubuntu静态IP地址怎么配置
  • iconfont 使用
  • 基于java冰雪旅游服务网设计与实现
  • django处理分页
  • CI+JUnit5并发单测机制创新实践
  • 蚁剑antSword-maste下载-安装-使用-一句话木马
  • [保研/考研机试] KY80 进制转换 北京大学复试上机题 C++实现
  • AP2915DC-DC降压恒流驱动IC LED电源驱动芯片 汽车摩托电动车灯
  • Android 实现无预览拍照功能
  • 第一章-数据结构绪论
  • 20、stm32使用FMC驱动SDRAM(IS42S32800G-6BLI)
  • git仓库大文件导致仓库体积增大处理
  • 将游戏坐标转化成屏幕鼠标坐标
  • springboot中Instant时间传参及序列化
  • nacos安装与启动相关问题(启动闪退和显示此站点的连接不安全)
  • 51单片机学习--DS18B20温度读取温度报警器
  • PYTHON专栏
  • 从初学者到专家:Java运算符的完整指南
  • Linux:shell脚本:基础使用(3)
  • opencv基础46-图像金字塔02-拉普拉斯金字塔