• Ztree异步加载自动展开节点


    在Ztree的官网Demo中,有自动展开的例子,是通过设置节点属性open:true来实现自动展开的,但是在异步加载中,这个属性设置为true也不会自动展开,因为open:true是指在有子节点的情况下展开,在异步加载之前,当前节点是没有子节点的,所以无法打开。
    异步加载自动展开解决方法如下:

    1.设置ztree的加载完成的回调函数:

    setting = {  
        ......              
        callback: {
            ......
            onAsyncSuccess: zTreeOnAsyncSuccess  
        }  
    };

    onAsyncSuccess是指加载完成后要调用的方法,其他节点的设置请参考ztree的官网Demo.

    2.编写方法zTreeOnAsyncSuccess

    var firstAsyncSuccessFlag = 0;
    function zTreeOnAsyncSuccess(event, treeId, msg) {  
    if (firstAsyncSuccessFlag == 0) {  
              try {  
                     //调用默认展开第一个结点  
                     var selectedNode = zTree.getSelectedNodes();  
                     var nodes = zTree.getNodes();  
                     zTree.expandNode(nodes[0], true);  
                  
                     var childNodes = zTree.transformToArray(nodes[0]);  
                     zTree.expandNode(childNodes[1], true);  
                     zTree.selectNode(childNodes[1]);  
                     var childNodes1 = zTree.transformToArray(childNodes[1]);  
                     zTree.checkNode(childNodes1[1], true, true);  
                     firstAsyncSuccessFlag = 1;  
               } catch (err) {  
                  
               }  
                  
         }  
    }

    此方法可以自动加载第一级节点,try{} catch()是为了捕获节点不存在时的异常,这样可以使其不跑出js错误信息。
    firstAsyncSuccessFlag变量的作用是使tree只在页面初始化后自动展开一次,因为手动点击加号展开子节点的时候也会调用此方法,通过此变量来标识是否自动加载。

  • 相关阅读:
    dapperHelper
    .NET Core Session的使用方法
    Wpf 关闭当前窗体 打开新窗体
    C#中Split分隔字符串的应用(C#、split、分隔、字符串)
    wpf日期控件
    SQLite数据库数据类型详解
    Asp.Net Core 2.2
    手写图片懒加载
    css动画常用属性总结
    css购物车(抛物线)运动
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/4474749.html
Copyright © 2020-2023  润新知