項目上遇到這樣的一個場景:ztree樹形菜單的節點選中一個即作為一個單位並且要保證值的唯一,還可以刪除某個值之后提交后台。
解決思路:1.設置一個空數組 2.聲明一個flag(布爾值),確保唯一后以設置為true。在這個確保值為唯一性需要比對id。 3刪除數組的任意一個值,用splice();
demo展示: var adminDept =[];
function onClick(event,treeId,treeNode){
var hasDept = false;
if (arr.length > 0) {
for (var i = 0;i < arr.length;i++){
var adminDept = arr[i];
if (adminDept.id == treeNode.id) {
hasDept = true;
break;
}
}
}
if (hasDept) {
return;
}
arr.push({
id: treeNode.id,
name: treeNode.name
});
//后面你需要做的業務實現操作
。。。。。
}
刪除操作: function deleteCurrent(id){
if (arr.length > 0) {
for (var i = 0;i < arr.length;i++) {
var adminDept = arr[i];
if (adminDept.id == id) {
arr.splice(i,1);
break;
}
}
}
// 后面想做什么的業務
。。。。。
}
以上只是為了方便自己學習