layui 树类型 异步加载

1 篇文章 0 订阅

主题思路为:https://www.cnblogs.com/han1982/p/11535627.html
文档介绍。
中间修改是 先选中 上级,点击展开不会把下级选中。 修改思路为:
tree.js 271行

Class.prototype.lazytree = function(elem, children,ischecked){
    var that = this
    ,options = that.config
    ,id = elem.attr('data-id');
    var change = function(data){
      layui.each(data, function(index, e){
        if(e.id===id){
          data[index].children = children;
          return false;
        }
        if(e.children && e.children.length > 0){
          change(e.children);
        }
      });
    }
    //追加数据
    change(options.data);
    that.loading(elem, true);
    var packDiv = $('<div class="layui-tree-pack"  style="display: block;"></div>');
    elem.append(packDiv);
    that.tree(packDiv, children);
    //复选框渲染
    if(options.showCheckbox){
      that.renderForm('checkbox');
    };
	var arr = []
	for(var i in children){
		arr.push(children[i].id)
	}
	if(ischecked>-1){
		that.setChecked(arr)
	}
  }

tree.js 903行

  //懒加载增加节点
  tree.lazytree = function(id, elem, children,ischecked){
    var that = thisModule.that[id];
    return that.lazytree(elem, children,ischecked);
  };

html js:spread方法里面为:

var ischecked = obj.elem[0].childNodes[0].childNodes[0].childNodes[2].className.indexOf('checked')
tree.lazytree(inst1.config.id, obj.elem, arr1,ischecked);

效果
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值