懒加载树
Source
        Output
        QRCode
    <!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-touch-fullscreen" content="yes">
<title>懒加载树</title>
<link rel="stylesheet" type="text/css" href="//g.alicdn.com/kissy/k/5.0.1/css/base.css">
<link rel="stylesheet" type="text/css" href="//g.alicdn.com/kissy/k/5.0.1/button/assets/dpl.css">
<link rel="stylesheet" type="text/css" href="//g.alicdn.com/kissy/k/5.0.1/tree/assets/dpl.css">
<script type="text/javascript" src="//g.alicdn.com/kissy/k/5.0.1/seed-debug.js"></script>
</head>
<body>
<div style="width:90%;margin:0 auto;">
  <h1>懒加载树</h1>
  <p>首次渲染时只渲染根节点,点击展开时再去“加载”数据并渲染子树</p>
  <div id="treeContainer" style="width: 200px;margin: 20px 0;">
       
  </div>
</div>
<script type="text/javascript">
require(['tree', 'node', 'util'], function (Tree, $, util) {
    var data = {  //在这个示例使用的是模拟的本地数据,当树结构比较大的时候可以用ajax去服务器拉取数据“懒加载”
        content: "淘宝网",
        children: [
            {
                content: "收藏夹",
                children: [
                    {
                        content: "收藏的宝贝"
                    },
                    {
                        content: "收藏的店铺"
                    }
                ]
            },
            {
                content: "我的淘宝",
                children: [
                    {
                        content: "已买到的宝贝"
                    },
                    {
                        content: "已卖出的宝贝"
                    }
                ]
            }
        ]
    };
    function getNode(node, content) {  
        if (node.content == content) {
            return node;
        }
        var c = node.children || [];
        for (var i = 0; i < c.length; i++) {
            var t = getNode(c[i], content);
            if (t) {
                return t;
            }
        }
        return null;
    }
    var tree = new Tree({
        content: "淘宝网",
        isLeaf: false,
        // showRootNode:false,
        render: "#treeContainer"
    });
    tree.on("expand", function (e) {   //点击展开再去把子树节点加载渲染
        var node = e.target;
        if (!node.get('children').length) {
            var c = getNode(data, node.get("content")).children;
            util.each(c, function (v) {
                node.addChild(new Tree.Node({
                    isLeaf: !(v.children && v.children.length),
                    content: v.content
                }));
            });
        }
    });
    tree.render();
});
</script>
</body>
</html>
         
		