1 vue版本2.5.6
2
3 1、设置选择父级节点,子级节点不联动选择
4
5 ① 前端代码
6
7 layui.use(['tree', 'util'], function() {
8 var tree = layui.tree;
9 var util = layui.util;
10 tree.render({
11 elem: '#dept_tree',
12 data: deptmentDataArr,
13 id: 'treeId',
14 showCheckbox: true,
15 onlyIconControl: true,
16 checkChild: false,//是否联动子级节点
17 checkParent:false,//是否联动父级节点
18 oncheck: function (obj) {
19 console.log(obj)
20 }
21 });
22 })
23 ②layui中找到tree.js修改代码如下
24
25 修改前
26 var r = e.find("." + v).find('input[same="layuiTreeCheck"]');
27 r.each(function() {
28 this.disabled || (this.checked = t)
29 })
30
31 修改后
32 var r = e.find("." + v).find('input[same="layuiTreeCheck"]');
33 if(this.config.checkChild){
34 r.each(function() {
35 this.disabled || (this.checked = t)
36 })
37 }
38 2、设置选择子级节点,父级节点不联动选择
39
40 ①前端如上述
41
42 ②layui中找到tree.js修改代码如下
43
44 修改前
45
46 var l = function(e) {
47 if (e.parents("." + s)[0]) {
48 var i, a = e.parent("." + v), n = a.parent(), r = a.prev().find('input[same="layuiTreeCheck"]');
49 t ? r.prop("checked", t) : (a.find('input[same="layuiTreeCheck"]').each(function() {
50 this.checked && (i = !0)
51 }),
52 i || r.prop("checked", !1)),
53 l(n)
54
55 }
56 };
57 l(e),n.renderForm("checkbox")
58 修改后
59 var l = function(e,m) {
60 if (e.parents("." + s)[0]) {
61 var i, a = e.parent("." + v), n = a.parent(), r = a.prev().find('input[same="layuiTreeCheck"]');
62 if(m.config.checkParent){
63 t ? r.prop("checked", t) : (a.find('input[same="layuiTreeCheck"]').each(function() {
64 this.checked && (i = !0)
65 }),
66 i || r.prop("checked", !1)),
67 l(n)
68 }
69
70 }
71 };
72 l(e,n), n.renderForm("checkbox")
73 ————————————————
74 转自链接:https://blog.csdn.net/qq_35942687/article/details/121399621