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

将后台传来的数据,转成easyui-tree所需格式

easyui 中文文档

EasyUI Tree组件需要一个包含特定属性(如idtextchildren等)的JSON对象数组来初始化。

而后台返回的数据,它可能不是我们直接能拿来用的。

方式一:使用loadFilter函数处理来自Web Services的JSON数据。

$('#ManageAuthTree').tree({checkbox: true,url: '/mapmanage/tuceng_tree',method: "get",onBeforeLoad: function (node, param) {param.dep_id = ParentID;},formatter: function(node){return node.name;},loadFilter: function (data) {let newData = formatForEasyUITree(data.data);console.log(newData)return newData;},onSelect: function (node) {},onLoadSuccess: function (node, data) {// var setChecked = function(nodes){console.log(nodes)//     for(var i=0; i<nodes.length; i++){console.log(nodes[i],nodes[i].checkState)//         if (nodes[i].dep_checked||nodes[i].dep_checked==[true]) {//             $('#ManageAuthTree').tree('check', nodes[i].target);//         }//         if (nodes[i].children && nodes[i].children.length > 0) {//             setChecked(nodes[i].children);//         }//     }// };// setChecked(data); // 递归设置节点的选中状态}});
function formatForEasyUITree(nodes) {return nodes.map(node => ({// ...node,id: node.id,text: node.name,checked: node.dep_checked,children: node.children ? formatForEasyUITree(node.children) : undefined}));}

方式二:使用 data 选项初始化 Tree

$.ajax({method: "get",url: '/mapmanage/tuceng_tree',dataType: 'json',data: { 'dep_id': ParentID },async: false,success: function (data) {if (data.code == 0) {let newData = formatForEasyUITree(data.data);console.log(newData)$('#ManageAuthTree').tree({// 这里可以配置 Tree 组件的其他选项checkbox: true,data: newData});} else {$.messager.alert('错误', data.msg, 'error');}}});

方式三:使用 loadData 方法将这个数据加载到组件

// 假设你的 Tree 组件的 ID 是 'tt'  
$('#tt').tree({  // 这里可以配置 Tree 组件的其他选项  // ...  onLoadSuccess: function(node, data){  // 加载数据成功后的回调函数(可选)  // 注意:这个回调是 `loadData` 方法不直接提供的,但你可以通过其他方式实现  }  
});  // 使用 loadData 方法加载数据  
var treeData = [  // ... 这里是上面提到的 JSON 数据  
];  
$('#tt').tree('loadData', treeData);

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Map遍历 32
  • 家用仪器血压测量仪电子方案
  • Centos 8使用空磁盘扩展ext4文件类型根分区 (LVM)
  • 代码随想录算法训练营第十七天 | 654.最大二叉树, 617.合并二叉树 ,700.二叉搜索树中的搜索 , 98.验证二叉搜索树
  • 在 Windows 10 系统上部署 Medusa
  • 检索增强生成RAG系列10--RAG的实际案例
  • Modbus 协议详解
  • 一款有趣的工具,锁定鼠标键盘,绿色免安装
  • 【Matplotlib】在 ax(Axes 对象)上使用 seaborn(简称 sns)绘图
  • Meta最新SAM2模型开源直接封神
  • 计算机技术基础 (bat 批处理)Note5
  • CSS平面转换-旋转
  • NumPy 基础教程
  • 普通人有必要学Python吗?学了之后能做什么?
  • element-ui+vue2实现粘贴上传
  • es6要点
  • Java 23种设计模式 之单例模式 7种实现方式
  • Javascript弹出层-初探
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Python十分钟制作属于你自己的个性logo
  • Spring Cloud Feign的两种使用姿势
  • vue学习系列(二)vue-cli
  • 程序员该如何有效的找工作?
  • 那些年我们用过的显示性能指标
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 一个SAP顾问在美国的这些年
  • C# - 为值类型重定义相等性
  • 阿里云服务器如何修改远程端口?
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • ## 基础知识
  • #Java第九次作业--输入输出流和文件操作
  • (AngularJS)Angular 控制器之间通信初探
  • (BFS)hdoj2377-Bus Pass
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (四) 虚拟摄像头vivi体验
  • (四)JPA - JQPL 实现增删改查
  • (四)事件系统
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • **PHP二维数组遍历时同时赋值
  • *Django中的Ajax 纯js的书写样式1
  • .bat文件调用java类的main方法
  • .NET IoC 容器(三)Autofac
  • .net mvc 获取url中controller和action
  • .NET Project Open Day(2011.11.13)
  • .Net Web项目创建比较不错的参考文章
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .NET面试题(二)
  • [<MySQL优化总结>]
  • [17]JAVAEE-HTTP协议