功能展示:
编辑节点:
1.最基本的编辑
功能介绍:点击编辑按钮进入编辑,回车确定编辑结果。
实现代码:
var setting = {
edit: {
enable: true,
editNameSelectAll: true,
},
只需要在setting里添加如上代码就可以编辑当前名称。
2.不允许重名、空白名称
功能介绍:不允许编辑后名称与已有名称重复和空白命名,若出现此类编辑行为则编辑无效。
实现代码:
var setting = {
callback: {
//设置在编辑前调用函数bfRename,执行返回true时自动触发编辑函数onRename
beforeRename: bfRename,
onRename: onRename,
}
}
//回调函数bfRename
function bfRename(treeId, treeNode, newName, isCancel) {
if (newName.length == 0) {
setTimeout(function () {
var zTree = $.fn.zTree.getZTreeObj("first");
zTree.cancelEditName();
alert("节点名称不能为空.");
}, 200);
return false;
}
for (var n in zNodes) {
if (zNodes[n].Name == newName) {
if (zNodes[n].id == treeNode.id) return;
setTimeout(function () {
var zTree = $.fn.zTree.getZTreeObj("first");
zTree.cancelEditName();
alert("编目名称已存在!");
}, 200)
return false;
}
}
return true;
};
function onRename(e, treeId, treeNode, isCancel) {
if (isCancel) return;
}
3.允许不同级重名,不允许同级重名
功能介绍:允许在不同级目录下出现重名,不允许同级目录下重名的编辑操作。
实现代码:
function bfRename(treeId, treeNode, newName, isCancel) {
//新名称为空时提示名称不能为空
if (newName.length == 0) {
setTimeout(function () {
var zTree = $.fn.zTree.getZTreeObj("first");
zTree.cancelEditName();
alert("节点名称不能为空.");
}, 200);
return false;
}
var Cnodes = getPeerNodes(treeNode);
//获取当前节点的同级兄弟节点,不包含本节点
function getPeerNodes(targetNode) {
if (targetNode == null) {
return null;
} else {
if (targetNode.getParentNode() != null) {
return targetNode.getParentNode().children;
}
return null;
}
}
console.log(Cnodes);
for (var n in Cnodes) {
if (Cnodes[n].Name == newName) {
if (Cnodes[n].id == treeNode.id) return;
setTimeout(function () {
var zTree = $.fn.zTree.getZTreeObj("first");
zTree.cancelEditName();
alert("编目名称已存在!");
}, 200)
return false;
}
}
return true;
};
function onRename(e, treeId, treeNode, isCancel) {
if (isCancel) return;
}
删除节点:
1.简单删除
功能介绍:点击删除按钮即可删除
代码实现:
var setting = {
edit: {
enable: true,
editNameSelectAll: true,
},
2.确认后删除
功能介绍:点击删除按钮,弹出确认框,点击确定之后删除。
代码实现:
function beforeRemove(treeId, treeNode) {
if (confirm("删除 " + treeNode.Name + "?"))
return true;
else
return false;
};
function onRemove(e, treeId, treeNode) {
};