zTree-两种数据格式的使用

zTree有两种数据格式:标准数据格式及简单数据格式

1、标准数据格式
var setting = {
	data: {
		simpleData: {
			enable: false // 也可不设置
		},
        key:{
            children: "nodes",// 节点数据中保存子节点数据的属性名称,默认值:"children"
            name: "ename",// 节点数据保存节点名称的属性名称,默认值:"name"
            // 其他相关属性可查看zTree的API文档
        }
	}
};

// 标准数据格式需要用children嵌套表示节点的父子包含关系
var nodes = [
	{
        name: "父节点1", 
        children: [
		  {name: "子节点1-1"},
		  {name: "子节点1-2"}
	    ]
    },
    {
        name: "父节点2", 
        children: [
		  {name: "子节点2-1"},
		  {name: "子节点2-2"}
	    ]
    }
];
2、简单数据格式
var setting = {
	data: {
		simpleData: {
			enable: true, // 使用简单数据格式时,simpleDate的enable属性必须设为true
			idKey: "id", // 指定字段务必让数据满足父子关系
			pIdKey: "pId"
		}
	}
};
var nodes = [
	{id:1, pId:0, name: "父节点1"},
	{id:11, pId:1, name: "子节点1"},
	{id:12, pId:1, name: "子节点2"}
];
3、举例说明
// 以分组类型 分组展示,然后子节点展示组编号和组名称
// 相同的分组类型下展示组名称

var list = [
    {
        groupType:'01', // 分组类型
        groupTypeName:'组1',// 分组类型名称
        subGroupNo:'aaaa',// 组编号
        subGroupName:'分组1'// 组名称
    },
    {
        groupType:'02', // 分组类型
        groupTypeName:'组2',// 分组类型名称
        subGroupNo:'bbbbb',// 组编号
        subGroupName:'分组2'// 组名称
    },
    {
        groupType:'03', // 分组类型
        groupTypeName:'组3',// 分组类型名称
        subGroupNo:'cccc',// 组编号
        subGroupName:'分组3'// 组名称
    },
    {
        groupType:'01', // 分组类型
        groupTypeName:'组1',// 分组类型名称
        subGroupNo:'dddd',// 组编号
        subGroupName:'分组4'// 组名称
    },
    {
        groupType:'02', // 分组类型
        groupTypeName:'组2',// 分组类型名称
        subGroupNo:'eeee',// 组编号
        subGroupName:'分组5'// 组名称
    }

];

var setting = {
        edit:{enable:false},
        check:{enable:false},
        date:{}// 这里使用标准数据格式
}

// 这种有特殊要求的需要对数据进行处理,让数据满足父子关系
var treeList = [];

list.forEach(function(item){
    if (treeList.find(i=>i.id === item.groupType)) {
        var _child = list.filter(i=>i.groupType === item.groupType);
        treeList.push({
            id:item.groupType,
            name:item.groupType + '-' + item.groupTypeName,
            children:getChild(_child)
        });
    }
});

function getChild(childArr){
    var _childArr = [];
    childArr.forEach(function(item){
        _childArr.push({
            id:item.subGroupNo,
            name: item.subGroupNo + '-' + item.subGroupName
        });
    });
    return _childArr;
}

4、总结

这里只是简单说明了zTree这种jQuery插件的两种数据格式,更多详细的属性可参考官方文档。

zTree-API文档icon-default.png?t=N7T8https://docs.caacle.com/zTree_v3/api/API_cn.html  

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ztree-input是一个通过使用zTree插件实现的下拉菜单功能。根据引用[1]中提供的代码,ztree-input的实现方式是通过在页面上添加一个input框,并绑定一个点击事件来显示下拉菜单。当点击input框时,会触发事件函数"showTree()",该函数会将zTree树状图显示在input框下方。同时,通过点击input框右侧的倒三角图标,可以收起或展开下拉菜单。在下拉菜单中选择相应的选项后,选中的值会存储在一个隐藏的input框中,供后续的处理使用。这样实现了一个具有下拉功能的ztree-input。 从引用中可以看到,实现ztree-input还需要引入ztree所需的js和css文件。 最后,引用提供了一个可用的示例来实现点击input框出现下拉菜单的效果。这个示例经过亲测可用。 总结来说,ztree-input是通过使用zTree插件和一些相关的代码实现的一个具有下拉功能的输入框。用户可以点击输入框来显示一个下拉菜单,并在菜单中选择相应的选项。选中的值会存储在隐藏的input框中,方便后续处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ztree实现下拉功能 input](https://blog.csdn.net/weixin_42599079/article/details/88897426)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [ztree树形菜单实现点击input框下拉功能 (内附有demo)](https://blog.csdn.net/z_zhy/article/details/87938669)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [zTree 实现点击input框出现下拉菜单(亲测可用)上一版的传错了](https://download.csdn.net/download/z_zhy/10997776)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值