背景:在很多情况下不需要联动选择(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即可,这样改造既保留了原来的功能,也可通过参数特殊设置。
觉得对你的项目有所帮助,记得点赞呦...