js封装任意级列表模块

在开发中常常会使用到多级列表。为了不再重复写构建列表的代码,可以规定列表的数据格式,并将列表封装成一个可重用的模块,因为递归解析列表数据源,所以支持任意多级,代码在最后给出链接。

效果(可拖动列表头部标题,拉伸列表):

任意级列表

要使用这个模块,传入的数据要遵守以下格式

 var node0 = {
        "nodeLevels": 0,
        "type": 0,
        "isChecked": false,
        "nodeData": {"text": "广东省", "headImgUrl": null}
        "sonNodes": [{
            "nodeLevels": 1,
            "type": 0,
            "sonNodes": []
    };

其中的 sonNodes一定要赋值为数组,数组里面可放置子节点,然后,节点放入数组内,作为参数,实例化一个列表,如下

<script src="jquery-2.1.0.js"></script>
<script src="require.js"></script>
<script src="LZF.TreeView.js"></script>
   
   requirejs.config({
    paths: {
        "jquery": "jquery-2.1.0",
    }
});
require(['TreeView'], function (TreeView) {
    var dataSource = [node0];

    //'mBody'是treeView的父元素的id, 
    //dataSource 是列表的数据源
    //第三个参数,是点击列表后的回调,返回末节点的nodeData的数据和选中或未选中状态

    var treeView = TreeView.initWithFrame('mBody', dataSource, function (text) {
        console.log(text);
    });
});

源码链接

源码链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,429评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,729评论 4 61
  • 一个男人正在沙发上给美女小三发微信。聊的不亦乐乎时老婆突然进来了。男的急忙关上手机屏幕。 老婆看出端倪,说:“你干...
    笪屹超人阅读 5,913评论 0 1
  • 1.XML概述 1.1XML: XML一种数据存储格式,这种数据存储格式在存储数据内容的同时,还能够保存数据之间的...
    PASSssss阅读 3,456评论 0 1
  • “廉则兴,贪则衰”是中华民族多少年来的治国之道。 其中第一集的“兴衰之思”所讲述的就是我国古今所经历的几大王朝的兴...
    蔡耀华阅读 4,558评论 0 0

友情链接更多精彩内容