ztree搜索并且定位到搜索节点

1.先加载整棵树,但是树是异步加载的 所以必须先递归出整课树,下面是代码。

$scope.deptTree = function() {          

 var treeSetting = {

async: {

enable: true,

url:"../dept/deptlist",

autoParam:["id", "name=n", "level=lv"],

otherParam:{"otherParam":"zTreeAsyncTest"}

},data: {

simpleData: {

enable: true

},

showTitle:true, //是否显示节点title信息提示 默认为true

key: {

title:"name" //设置title提示信息对应的属性名称 也就是节点相关的某个属性

}

},

callback: {

onClick:function(event, treeId, treeNode) {

$scope.tableListPtreeId = treeNode.id;

$scope.selectDeptId= treeNode.id;

$scope.usersearch="";

$scope.paginationConf.totalItems = 0;

$scope.paginationConf.currentPage = 0;

$scope.deptNode=treeNode;

$scope.treeNode=treeNode;

if($scope.tableListPtreeId!=""){

$scope.getTableList();

}

},

onAsyncSuccess :$scope.deptCtrl.onAsyncSuccess //加载完回调递归

}

};

$scope.deptCtrl = {

onAsyncSuccess:function(event, treeId, treeNode, msg) {

if(treeNode != undefined){

$scope.deptCtrl.expandNodes(treeNode.children, "tree");

}

},

expandNodes:function(nodes,treeId) {

if (!nodes) return;

var zTree=$.fn.zTree.getZTreeObj("deptTree");

for (var i=0, l=nodes.length; i

zTree.reAsyncChildNodes(nodes[i], '', true);

if (nodes[i].isParent && nodes[i].zAsync) {

expandNodes(nodes[i].children, treeId);

}

}

},

selectDept:function(){

$scope.tableListPtreeId=$scope.selectDeptId;

$scope.deptCtrl.searchNode($scope.tableListPtreeId);

//                    $scope.usersearch="";

//                    $scope.getTableList();

},

searchNode:function(nodeId){//搜索节点并且选中

console.log(nodeId);

var zTree=$.fn.zTree.getZTreeObj("deptTree");

var nodes = zTree.getNodesByParamFuzzy("id", nodeId, null);

console.log(nodes);

if (nodes.length>0) {

zTree.selectNode(nodes[0]);

}

}

};

你可能感兴趣的:(ztree搜索并且定位到搜索节点)