转:zTree高级入门:如何通过扩展节点的属性来达到是否显示节点的删除编辑等图标(按钮)

摘要:
解决方案如下:1.展开节点的两个属性:noRemoveBtn和noEditBtn。如果分别设置为true,则不会显示操作图标。示例代码如下:varzNodes=[{id:1,pId:0,name:“父节点1”,open:true,noRemoveBtn:true;noEditBtn:ttrue},{id:11,pId:1,name:”叶节点1-1“,noRemoveBtn:false,noEditBtn:true};{id:12,pId:11,name::”叶节点1-2“},{id:13,pId=1,name:,“叶节点1-3”}];2.我们修改设置中编辑节点下的showRenamebn和showRemoveBtn属性,使其成为返回是否显示图标的方法,例如edit:{enable:true,showRenameBtn:showRenamebn}。3.编写showRenameBtn方法,将是否将节点编辑图标显示为example://Whether显示编辑按钮函数showRenameBtn{/获取noEditBtn属性值if(treeNode.noEditBtn!

当我们在使用ztree树组件的节点编辑功能时,只要我们引入了ztree相关节点编辑的js脚本文件:

<script type="text/javascript" src=”/js/jquery.ztree.exedit-3.5.js"></script>

接着配置setting内的edit节点:

var setting = {
            edit: {
                enable: true,
                showRenameBtn: true,
                showRemoveBtn: true
            },

当我们ztree树加载完成后,我们将鼠标移动至每一个树节点上,节点后面均会显示两个图标,一个“删除节点”图标,一个是“编辑节点”图标。点击后可以进行节点的编辑和删除操作。

这样虽然很完美,但是还不够完美,如果我们针对某些节点不需要不需要进行节点的编辑或者删除操作,换言之就是某些节点不让其显示操作的图标。怎么办呢?

很显然,ztree树控件对于这一点上做得还不是很够,但是它已经给我们留了很大的扩展空间。

解决方案如下:

1、给节点扩展两个属性:noRemoveBtn和noEditBtn,分别设置为true表示均不显示操作图标。当然这里配置是第一步,还有第二步的哦。

示例代码如下:

var zNodes = [
            { id: 1, pId: 0, name: "父节点 1", open: true, noRemoveBtn: true, noEditBtn: true },
            { id: 11, pId: 1, name: "叶子节点 1-1",noRemoveBtn: false,noEditBtn:true },
            { id: 12, pId: 1, name: "叶子节点 1-2" },
            { id: 13, pId: 1, name: "叶子节点 1-3" }
                 ];

2、我们将setting内的edit节点下的showRenameBtn、showRemoveBtn两个属性就行修改,变成一个方法来返回是否显示图标,形如:

edit: {
                enable: true,
                showRenameBtn: showRenameBtn
            },

3、编写showRenameBtn(treeId,treeNode)方法,这里以是否显示节点编辑图标为例:

 //是否显示编辑按钮
function showRenameBtn(treeId, treeNode) { 
            //获取节点所配置的noEditBtn属性值           
            if (treeNode.noEditBtn != undefined && treeNode.noEditBtn) {
                return false;
            } else
                return true;
}

刷新我们的页面,然后就可以看到第一二个节点当我们鼠标移动上去的时候后面图标的显示情况。

补充:

1、showRenameBtn(treeId,treeNode)方法的执行或者触发是当我们鼠标移动至某个节点上时触发或者执行的,所以我们能够很清楚地知道节点的对象,接着判断其属性值情况。

免责声明:文章转载自《转:zTree高级入门:如何通过扩展节点的属性来达到是否显示节点的删除编辑等图标(按钮)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Delphi dbgrideh颜色设置管理成功的项目群下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue对vue-giant-tree进行节点操作

vue 项目中使用到了vue-giant-tree这个使用ztree封装的树形插件,在对其节点进行操作时遇到了无法向传统的jquery那样获取到ztreeObj;而导致了无法控制节点dom;浪费了许多时间,so特此记录一哈 Vue-Giant-Tree Vue-Giant-Tree是最ztree的一个封装;用于vue 项目中,该ztree的好处就是不需要...

ztree详解

 1、添加样式、js <link rel="stylesheet" href="${ctx}/hollybeacon/resources/plugins/zTree_v3/css/demo.css" type="text/css"> <link rel="stylesheet" href="${ctx}/hollybeacon/resou...

zTree基本功能[core]

zTree 是一个依靠jQuery实现的多功能"树插件".优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点. zTree v3.0 将核心代码按照功能进行了分割,不需要的代码可以不用加载 采用了 延迟加载 技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀 兼容 IE、FireFox、Chrome、Opera、Safari 等浏览器...

Ztree _ 横向显示子节点、点击文字勾选、去除指定元素input的勾选状态

前些天项目需要树结构表现数据,需求ztree就能满足所以直接使用ztree只是踩了些小坑。。。 1.ztree子节点横向显示(下图): 效果说明:第三级子节点按需求横向显示其他竖向显示,每行最多显示5个(修改位置在zTreeStyle.css里面哦,在外面设置不上的,页面也获取不到想要设置样式的节点。。。如果你能还望赐教)代码如下: 1 .ztree&g...

zTree demo

使用zTree的一个demo 官网:http://www.treejs.cn/v3/main.php#_zTreeInfo demo地址:https://github.com/zhaobao1830/zTreedemo 项目中用到的一些方法  1、 1 //获得树形图对象 2 var zTree = $.fn.zTree.getZTreeObj("t...

zTree API中刷新树没效果

想刷新树,但是根据API来的refresh无效 ---------------------------------------------------------------------------------------------------------- https://bbs.csdn.net/topics/391881528 这个博客的作者的三个...