ztree 自定义参数_zTree树插件使用方法及自定义控件实践_蓝戒的博客

zTree简介:

zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。

实践版本:zTree-verson : 3.5.28

1.首先引入:插件css和js文件

//js引入可以根据需要引入局部模块

2.页面html节点

//zTree 的容器样式名固定设置为: "ztree"

3.ztree初始化

var zTreeObj;

// zTree 的参数配置,深入使用请参考 API 文档(setting 配置详解)

var setting = {};

// zTree 的数据属性,深入使用请参考 API 文档(zTreeNode 节点数据详解)

var zNodes = [

{name:"test1", open:true, children:[

{name:"test1_1"}, {name:"test1_2"}]},

{name:"test2", open:true, children:[

{name:"test2_1"}, {name:"test2_2"}]}

];

$(document).ready(function(){

zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);

});

实践示例:

自定义不同层级显示不同操作按钮,皮肤样式自定义,操作更新数据,保持折叠展开状态。

思路:

1. 自定义控件利用zTree初始化配置的view的addDiyDom方法js拼接Dom结构,Dom结构css自定义写成自己的样式。

2. 操作数据更新视图,由于实践示例的数据结构是经过加工处理的,采用的是zTree更新整个树的方法:treeObj.reAsyncChildNodes(null, "refresh");

3. 记录展开折叠状态,借助cookie记录,引入jquery.cookie.js,通过记录zTree节点id的状态方法来处理展开折叠状态:treeObj.getNodeByParam('id', z_tree[i])

4.展开折叠视图方法:treeObj.expandNode(node, true); 折叠展开回调事件:onExpand,onCollapse

html:

js(代码框架为avalonjs):

//新增节点

addNodesFun:function(){

var orgIdVal;

var orgNameVal;

if(organizationStructure.communityOrgLevel == 99){

if(organizationStructure.addPropertyCompany.communityId == ''){

util.showTip('请选择小区');

return;

}

orgIdVal = organizationStructure.addPropertyCompany.communityId;

orgNameVal = $(".selectbox2 option:selected").text();

}else{

if(organizationStructure.addPropertyCompany.propertyCompanyId == ''){

var strTxt = $('#addModal1 .j-modalLabel').text();

if(strTxt.indexOf("物业公司")>=0){

util.showTip('请选择物业公司');

return;

}

if(strTxt.indexOf("分公司")>=0){

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自定义 ztree 的响应数据,需要在后端返回 JSON 数据时,按照 ztree 的数据格式进行组装。具体来说,ztree 的节点数据格式如下: ``` { "id": "节点唯一标识符", "pId": "节点的父节点唯一标识符", "name": "节点名称", "isParent": "是否有子节点", "open": "节点是否默认展开", // 其他自定义属性 } ``` 如果需要自定义响应数据,可以在后端组装出符合上述格式的 JSON 数据,然后在前端使用 ztree 的 API 加载数据即可。具体的步骤如下: 1. 在后端组装出符合 ztree 格式的 JSON 数据; 2. 在前端使用 ztree 的 `async` 和 `data` 属性配置异步加载数据; 3. 在 `async` 属性中指定后端返回数据的 URL; 4. 在 `data` 属性中指定后端返回的 JSON 数据格式。 下面是一个示例代码: ``` // 后端返回的 JSON 数据格式 { "id": 1, "name": "根节点", "children": [ { "id": 2, "name": "子节点1" }, { "id": 3, "name": "子节点2" } ] } // 前端使用 ztree 加载数据 $(document).ready(function(){ $.fn.zTree.init($("#treeDemo"), { async: { enable: true, url: "/api/tree", autoParam: ["id=parentId"] }, data: { simpleData: { enable: true, idKey: "id", pIdKey: "parentId", rootPId: null } } }); }); ``` 在上述代码中,后端返回的 JSON 数据中,根节点的 `id` 为 `1`,子节点1的 `id` 为 `2`,子节点2的 `id` 为 `3`。在前端使用 ztree 加载数据时,将 `idKey` 指定为 `id`,`pIdKey` 指定为 `parentId`,这样 ztree 就能够正确地解析后端返回的 JSON 数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值