数据视图 { "status": 1, "msg": "success", "data": [ { "id": 1, "name": "admin:all", "childModel": [ { "id": 2, "name": "admin:user" }, { "id": 3, "name": "admin:department" }, { "id": 4, "name": "admin:role" } ] }, { "id": 18, "name": "
{ "status": 1, "msg": "success", "data": [ { "id": 1, "name": "admin:all", "childModel": [ { "id": 2, "name": "admin:user" }, { "id": 3, "name": "admin:department" }, { "id": 4, "name": "admin:role" } ] }, { "id": 18, "name": "product:all", "childModel": [ { "id": 19, "name": "product:set" }, { "id": 20, "name": "product:size" }, { "id": 21, "name": "product:activity" }, { "id": 28, "name": "product:list" } ] }, { "id": 5, "name": "report:all", "childModel": [ { "id": 6, "name": "report:income" }, { "id": 7, "name": "report:sold" }, { "id": 8, "name": "report:visit" }, { "id": 9, "name": "report:resume" } ] }, { "id": 22, "name": "page:all", "childModel": [ { "id": 26, "name": "page:list" }, { "id": 27, "name": "page:add" } ] }, { "id": 23, "name": "banner:all", "childModel": [ { "id": 24, "name": "banner:list" }, { "id": 25, "name": "banner:add" } ] }, { "id": 10, "name": "resource:all" }, { "id": 11, "name": "feedback:all" }, { "id": 12, "name": "question:all", "childModel": [ { "id": 31, "name": "question:list" }, { "id": 32, "name": "question:add" } ] }, { "id": 13, "name": "coupon:all", "childModel": [ { "id": 29, "name": "coupon:list" }, { "id": 30, "name": "coupon:add" } ] }, { "id": 14, "name": "order:all", "childModel": [ { "id": 15, "name": "order:plan" }, { "id": 16, "name": "order:deliver" }, { "id": 17, "name": "order:list" } ] } ] }页面布局
脚本处理
checkAll(pid, arr) { var _this = this; if (_this.perArr[pid]) { for (var i = 0; i < arr.length; i++) { _this.perArr[arr[i].id] = true; } } else { for (var i = 0; i < arr.length; i++) { _this.perArr[arr[i].id] = false; } } }, checkChild(pid, arr) { var _this = this; for (var i = 0; i < arr.length; i++) { if(!_this.perArr[arr[i].id]){ _this.perArr[pid] = false; break; } _this.perArr[pid] = true; } },思路说明
1.点击父级时,传入父级id以及当前所有的子节点,首先判断父级id是否处于选中状态,如果是,则遍历他下面的所有子节点,并设置为true;反之,则全部设为false 2.点击子节点时,传入父级id以及当前所有的兄弟节点,遍历兄弟节点是否都是处于选中状态,如果是,则将父级设为true,一旦有一个兄弟节点是false,则将父级置为false,并跳出循环