element-ui default-checked-keys 会把节点下所有子节点全部勾选解决方法
<el-tree
class="filter-tree"
:data="permissionData"
:props="props"
node-key="id"
ref="treeForm"
show-checkbox
:default-checked-keys="this.savedPermissionIds"
:default-expanded-keys="this.savedPermissionIds"
@check="getCheckedNodes"
></el-tree>
showDialog(id) {
this.isShowPermissionTree = true;
this.roleId = id;
this.savedPermissionIds = [];
this.getPermissionTree();
},
//获取用户勾选的权限id用于传参后台
getCheckedNodes() {
// let selectedPermission = this.$refs.treeForm.getCheckedNodes(false, true); //(leafOnly, includeHalfChecked) 接收两个 boolean 类型的参数,1. 是否只是叶子节点,默认值为 false 2. 是否包含半选节点,默认值为 false
// this.permissionIds = selectedPermission.map(item => {
// return item.id;
// });
let parentArr = this.$refs.treeForm.getHalfCheckedKeys();
let childeArr = this.$refs.treeForm.getCheckedKeys();
let arr = childeArr.concat(parentArr);
this.permissionIds = arr;
},
//取消
cancel() {
this.isShowPermissionTree = false;
this.savedPermissionIds = [];
this.getPermissionTree();
},
//获取树形权限列表
getPermissionTree() {
menulistByPid({ flag: 1 }).then(res => {
this.permissionData = res.body;
//获取权限管理配置id并显示
getPermissionIds({ roleId: this.roleId }).then(res => {
this.savedPermissionIds = res.body;
let newArr = [];
let item = "";
if (this.savedPermissionIds && this.savedPermissionIds.length !== 0) {
this.savedPermissionIds.forEach(item => {
this.checked(item, this.permissionData, newArr);
});
this.savedPermissionIds = newArr;
// console.log("this.savedPermissionIds111", this.savedPermissionIds);
}
});
});
},
checked(id, data, newArr) {
data.forEach(item => {
if (item.id == id) {
if (item.items && item.items.length == 0) {
newArr.push(item.id);
}
} else {
if (item.items != null && item.items.length != 0) {
this.checked(id, item.items, newArr);
}
}
});
// console.log("newArr", newArr);
},
element-ui default-checked-keys 会把节点下所有子节点全部勾选解决方法的更多相关文章
- bootstrap-treeview 如何实现全选父节点下所有子节点及反选
转(https://www.augsky.com/992.html) 选中父节点时,父节点下所有子节点也都全部选中 1,HTML代码 <h2>TreeView Checkable</ ...
- jQuery 判断父节点下是否有子节点
查找父节点下是否有子节点有两个情况:(1)查找的是父元素的所有后代节点:(2)仅查找父元素的第一代子节点. <div id="app"> <div> < ...
- element ui 弹出组件的遮罩层在弹出层的上面的解决方法
<el-dialog title="收货地址" :visible.sync="dialogFormVisible" :modal-append-to-bo ...
- [SQL]T-Sql 递归查询(给定节点查所有父节点、所有子节点的方法)
T-Sql 递归查询(给定节点查所有父节点.所有子节点的方法) -- 查找所有父节点with tab as( select Type_Id,ParentId,Type_Name from Sys_ ...
- 在论坛中出现的比较难的sql问题:21(递归问题 检索某个节点下所有叶子节点)
原文:在论坛中出现的比较难的sql问题:21(递归问题 检索某个节点下所有叶子节点) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. ...
- mysql 递归查找菜单节点的所有子节点
背景 ...
- T-Sql 递归查询(给定节点查所有父节点、所有子节点的方法)
-- 查找所有父节点with tab as( select Type_Id,ParentId,Type_Name from Sys_ParamType_V2_0 where Type_Id=316-- ...
- configSections必须是根节点下第一个节点
对webconfig文档进行配置,添加了一个节点configSectionS,添加时,我自个想,按节点的名称以字母排序,就放在appSettings节点下. 谁知,在程序运行时,出现了错误: 参考上面 ...
- element Ui的级联选择器 任意一级选中下拉框自动关闭
封装成一个子组件 <template> <el-cascader v-model="value" clearable placeholder="请选择& ...
随机推荐
- pytorch中调整学习率的lr_scheduler机制
有的时候需要我们通过一定机制来调整学习率,这个时候可以借助于torch.optim.lr_scheduler类来进行调整:一般地有下面两种调整策略:(通过两个例子来展示一下) 两种机制:LambdaL ...
- LeetCode_404. Sum of Left Leaves
404. Sum of Left Leaves Easy Find the sum of all left leaves in a given binary tree. Example: 3 / \ ...
- LODOP关联后眉脚条码的遮挡的一种情况
前面的博文中,有介绍层级关系,最先输出的打印项在下层,后输出的在上层,但是最近发现了一种例外,就是前面有关联的情况下,后面把一个条码设置为页眉页脚项,眉脚项和前面关联其他的项的那个项位置重合,虽然这个 ...
- v-for key的作用
v-for中的key来给每个节点做一个唯一的标识,diff算法就可以正确的识别此节点,找到正确的位置区插入新的节点:key的主要作用是为了高效的更新虚拟dom,另外vue在使用相同标签名元素的过渡切换 ...
- k8s调度器之亲和性和反亲和性/节点选择器
容器在节点(物理机)上是如何部署的 是由调度器scheduler进行调度的 调度策略 随机 通过节点选择器选择某些节点 通过节点亲和性和pod的亲和性及反亲和性实现更细粒度的控制 参考 https:/ ...
- js复制json对象
var newJson = JSON.parse(JSON.stringify(json对象));
- 帮你培养类型思维TypeScript(一)
前言:作为一名程序员,相信你已经熟练掌握了JavaScript语言,由于其应用领域非常的广泛,所以算得上是每一个程序员必须要掌握的语言.但是JavaScript自身的缺点,相信每一个程序员也是深有体会 ...
- CVE-2019-2725修复(删包)
本来想试试打补丁,但是有些麻烦,而且oracle补丁黑名单的方式总不让人放心. 因此考虑直接删除相关的包. 该方式适用于xmldecoder漏洞系列,如CVE-2017-3506.CVE-2017-1 ...
- 伸缩布局 Flex
其中在webkit内核的浏览器中使用时,必须加上-webkit-前缀,采用Flex布局的元素,称为Flex容器(flex container),简称”容器”.它的所有子元素自动成为容器成员,称为Fle ...
- [转帖]Linux内核系统体系概述
Linux内核系统体系概述 https://www.cnblogs.com/alantu2018/p/8447369.html Linux 内核主要由 5 个模块构成,它们分别是: 进程调度模块 用来 ...