layui树组件(tree)取消选择父组件联动选择子组件功能

背景:在很多情况下不需要联动选择(checkbox)子组件,这需要在tree(树组件)渲染的时候增加一个参数checkChildren(boolean类型),本文针对layui2.9.8版本

首先在渲染时增加参数,如下,tree渲染的其他参数请参考官方文档
tree.render({
            elem: '#urlNode',
            data: data,
            showCheckbox: true,  // 是否显示复选框
            onlyIconControl: true,  // 是否仅允许节点左侧图标控制展开收缩
            id: 'urlTreeNode',
           checkChildren: false,
            isJump: true, // 是否允许点击节点时弹出新窗口跳转
})
其次去修改下layui.js源码的中的第7200行,或者搜索this.disabled || ((e = i[l.children][e])

源代码

this.disabled || ((e = i[l.children][e]) && n.updateFieldValue(e, "checked", c), n.updateFieldValue(this, "checked", c))

修改成

if(n.config.checkChildren) {
    this.disabled || ((e = i[l.children][e]) && n.updateFieldValue(e, "checked", c), n.updateFieldValue(this, "checked", c))
}

如果还想保持原来的效果,将checkChildren设置为true即可,这样改造既保留了原来的功能,也可通过参数特殊设置。
觉得对你的项目有所帮助,记得点赞呦...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容