ztree的用法
2024-08-25 23:00:32
哎哟,好久没写什么这个虽然没人看的博客了,其实这段时间情绪非常低谷,就没有写博客了,不过我还是回来了,回到正题,在前端页面编程的时候,我们经常用到树状,用原始的树状呢,功能没有那么强大,所以这个时候
我们需要引入一个非常好用的插件,ztree,其实就是JQuery的一个插件,这个是接口文档:http://www.treejs.cn/v3/api.php
然后呢 我们在页面中使用呢,就的先引入ztree ,这个是下载地址:https://gitee.com/zTree/zTree_v3/tree/master/js
这个是我引入的包:
下载之后放在你的js文件夹中方便引入就好了,然后就是在页面中引入:
<script src="~/js/ztree/jquery.ztree.core.min.js"></script>
<script src="~/js/ztree/jquery.ztree.exhide.min.js"></script>
<link href="~/css/zTreeStyle.css" rel="stylesheet" />
<script src="~/js/ztree/jquery.ztree.exedit.min.js"></script>
<script src="~/js/fuzzysearch.js"></script>
然后就可以开始使用了:
先定义一个<ul id="shuai" class="ztree"></ul>
然后 先写加载树状数据的函数:
$(function () {
Tree();
}); function Tree() {
var setting = { data: {
simpleData: {
enable: true
}
},
view: {
showIcon: false }
,
callback: {
onClick: TreeClick
}
};
$.ajax({
url: "", //这个是请求数据的action url
type: "get",
async: false,
success: function (data) { // data返回的数据
$.fn.zTree.init($("#AccountTree"), setting, data.data);
//初始化模糊搜索方法
fuzzySearch('AccountTree', '#keyword', null, true); //引入模糊查询的插件就可以使用这个方法 }
});
} function TreeClick(event, treeId, treeNode) {
$('.layui-tab-title li').removeClass('layui-this');
var treeObj = $.fn.zTree.getZTreeObj("AccountTree");
var nodes = treeObj.getSelectedNodes();
if (treeNode.pId == null) {
//点击事件,当点击父节点时候,进行的操作
}
else { }
}
这样就可以实现基本的树状结构啦,非常简单和方便,后端的话需要这样实现:
需要一个Nodelist去传递数据到前端页面:
public class NodeTree
{
/// <summary>
/// 节点Id
/// </summary>
public string Id { get; set; } /// <summary>
/// 父节点Id
/// </summary>
public string PId { get; set; } /// <summary>
/// 节点名称
/// </summary>
public string Name { get; set; } /// <summary>
/// 是否选中
/// </summary>
public bool Checked { get; set; }
}
public async Task<List<NodeTree>> GetSocialTree(string[] supplier)
{
// 返回的所有节点
List<NodeTree> returnNodes = new List<NodeTree>(); // 父节点
List<NodeTree> Nodes = new List<NodeTree>(); // 子节点
List<NodeTree> FNodes = new List<NodeTree>(); var query = db.database..Select(x => new NodeTree
{
Id = x.Name,
Name = x.Name,
PId = "0"
}); Nodes = await query.ToListAsync(); var queryCity = db.SocialAccount.Where.Select(x => new NodeTree
{
Id = x.Id,
Name = x.City,
PId = x.Name
}); FNodes = await queryCity.ToListAsync(); returnNodes.AddRange(Nodes);
returnNodes.AddRange(FNodes);
return returnNodes;
}
这段代码是伪代码,只是举一个例子看起来更直观,总之返回list<nodes>到前端页面,这个时候树状就可以发挥作用了,非常简单和方便。大致就是这样了。
最新文章
- linux进程查找及杀死
- c++表达式的一些小小的注意事项
- javascript陷阱,一不小心你就中招了
- windows系统 安装MongoDB 32位
- hdu 4632区间 dp
- MYSQL操作的一些知识点,持续更新中&#183;&#183;&#183;&#183;
- 【计算几何初步-代码好看了点线段相交】【HDU2150】Pipe
- spark in eclipse---Spark学习笔记3
- jquery ajax请求成功,数据返回成功,seccess不执行的问题
- xmlns=";";
- iOS swift的xcworkspace多项目管理(架构思想)
- 深入理解Redis内存模型
- SpringBoot分布式 - SpringCloud
- 内训--PPT演示技巧
- 通过 ulimit 改善系统性能
- php输出日志
- Day4 数组
- Centos的一个find命令配合rm删除某天前的文件
- ogre3d环境配置与简单程序示例
- IT兄弟连 JavaWeb教程 Servlet会话跟踪 创建Cookie