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

来源:互联网 发布:matlab2014b for mac 编辑:程序博客网 时间:2024/06/07 00:27

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<l; 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]);  
                        }  
                }
        };



原创粉丝点击