Ztree树节点的层级展开

 在主界面构造树之后,左边的树节点一般只会展开至根节点,而有些需求需要展开至第一层树节点,那鉴于这中需求,我们应该如何处理呢?

   解决方法如下:

(1)通过Ztree自带的属性,对根节点进行展开

      在Ztree的属性中,存在一个open的属性,这个属性针对于某个节点,记录着treeNode 节点的 展开 / 折叠 状态。使用方法:

     Control层

 /**

     * 功能描述: 树查询

     *

     * <pre></pre>

     *

     * @param request

     * @return

     */

    @ResponseBody

    @RequestMapping("/queryTree")

    public List queryTree(HttpServletRequestrequest) {

        Map params=MapConvert.arrayMapToStringMap(request.getParameterMap());

        ResultVO<Map> rs= newResultVO<Map>();

        rs=itestService.queryTree(params);

        return rs.getResultlist();

    }

 

   ServiceImp层

     /**

     * 功能描述: 树查询

     * @param params

     * @return

        */

    @SuppressWarnings({"unchecked","rawtypes"})

    @Override

    public ResultVO<Map> queryTree(Mapparams) {

        ResultVO<Map> rs= newResultVO<Map>();

        List treeNodes= new ArrayList();

        if(params.get("treeid") ==null || "".equals(params.get("treeid"))) {

            Map node= new HashMap();

            node.put("pid","0");

            node.put("id","root");

            node.put("name", "车型");

            node.put("isParent","true");

            node.put("open","true");//给根节点设置节点展开的属性

            treeNodes.add(node);

        }elseif("root".equals(params.get("treeid").toString())) {

            treeNodes= testdao.queryFirstTree(params);

        }

        rs.setResultlist(treeNodes);

        rs.setReturncode(DpConstant.OK);

        return rs;

    }

注意:使用该属性需要注意的一点是,这个属性只能够在非异步加载的模式下生效

 

(2)通过onAsyncSuccess 的属性,对根节点进行展开

   这个属性一般只是出现在异步加载树的情况下,这个表示异步加载树成功结束时,创建该函数并执行相关的操作。

JS文件

//初始化界面

var initpage=function(){       

var setting = {

          simpleData: {
                      enable: true,
                      idKey: "id",
                      pIdKey: "pid"
                },

        async: {

                  enable: true,

                  url:contxtpath +treemodel+'/queryTree.action',

                  autoParam: ["id=treeid"]

    },

        callback: {

                 onAsyncSuccess: onAsyncSuccess,

                 onClick: onClick

    }

};

 $.fn.zTree.init($("#maintree"),setting);

 treecode= "maintree";

}

function onClick(event,treeId, treeNode, clickFlag){

    treeId=treeNode.name;

    //通过点击不同的树节点,对主界面的数据进行过滤

    queryDataList();

    manager.setParm('treeId',treeId);

}


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

    if (Empty(treeNode)) {

        try {

            var zTree =$.fn.zTree.getZTreeObj(treeId);

            var nodes = zTree.getNodes();

            zTree.expandNode(nodes[0], true);//表示默认展开第一层节点

            zTree.selectNode(nodes[0]);

        } catch (str) {

            $.ligerDialog.error(str.message,errormessage);

        }

 

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值