Element UI tree 回显问题
Part.1 问题
写项目时遇到一个棘手的问题,在做关于权限功能时,点击修改需要显示角色原本对应的权限。涉及到了 tree 组件回显,但是有一个很尴尬的问题:tree 组件只要父节点选中,那么子节点就会全部被选中,这是我们不愿意看到的,可能你会说,取消父子联动属性不就好了,可是我们也需要在子节点被选中时,父节点保持半选中状态。
Part.2 思路
在仔细看完 https://element.eleme.cn/#/zh-CN/component/tree#fang-fa Element -UI 的官方文档后会发现很关键的两个方法:
现在,我们该怎么进行呢? 先说一下我自己的思路,而后会逐一详解:
步骤:
第一步: 创建一个标识数组
第二步: 将上述两个方法返回的数组与创建的标识数组进行合并,形成一个数组,传递给后台
第三步: 回显时,以自己的标识数组的值为分割点,将后面的值全部删除
详解:
第一步 创建一个标识数组非常简单,如我创建的数组:signCode: [9999]
第二步 三个数组进行合并我的写法如下:
let empowerTreeFrom = _that.$refs.empowerTreeFrom; // empowerTreeFrom 为自己为 tree 组件定义的 ref 的值 empowerTreeFrom.getCheckedKeys().concat(_that.signCode, empowerTreeFrom.getHalfCheckedKeys()) // 数组合并关键方法 concat
第三步 回显时,返回的数据:
接下来,获取整个 idList 数组进行条件分割,我的方法:
let filterId = getIdList.indexOf(_that.signCode[0]); // 获取 标识数组元素 当前索引
getIdList.splice(filterId, getIdList.length - filterId); // 利用 splice 方法 从当前索引处开始切割,切割个数为 getIdList.length - filterId
empowerCheckedKeys = getIdList // 根据 getIdList 数组的值进行选中
完成!!!
Element UI tree 回显问题的更多相关文章
- element ui tree回显 setCheckedNodes,setCheckedKeys,setChecked等函数报undefined问题
在写项目的时候,需要用到tree组件进行回显来进行权限控制: 在回显过程中使用回显函数会报报undefined, 这时只需要给该函数包裹一层nextTick方法就行了, 在回显过程中我们有可能使用半选 ...
- element ui el-tree回显问题及提交问题(当后台返回的el-tree相关数组的时候,子菜单未全部选中,但是只要父级菜单的id在数组中,那么他的子菜单为全部选中状态)
1:问题原因:我们可能使用 this.$refs.tree.setCheckedKeys(this.defalutArr);或者使用:default-expanded-keys="treeD ...
- Element ui tree树形控件获取当前节点id和父节点id
低版本Element ui tree树形控件获取当前节点id和父节点id的方法:点击查看 最新版本Element ui tree树形控件获取当前节点id和父节点id教程: 1.找到node_modul ...
- react项目中element的DatePicker回显
element的DatePicker获取value的时候是日期对象如下,可以提交的时候查看参数 2019-06-30T17:02:02.000Z 如果是console.log打印出来的话,是这样的 ...
- Element ui tree结合Vue使用遇到的一些问题(一)
下图是一个后台管理系统,展示的是角色列表 当我点击编辑的时候,弹出一个模态框,如下图 功能需求:点击编辑按钮,弹出模态框,选择权限那块,默认选中当前角色拥有的权限. 问题:第一次点击编辑按钮时,不会选 ...
- Element ui tree树形控件获取父节点id
Element-ui官网给的方法 getCheckedKeys() { console.log(this.$refs.tree.getCheckedKeys()); }, 这种只有在所有子级都被选中的 ...
- vue element upload图片 回显问题
beforeUpload (file) { var _this = this; var reader = new FileReader(); reader.readAsDataURL(file); ...
- element - ui tree
一行代码两行泪,没有外网真可怕!好久没写博客了,更新一把. <template> <div> <el-tree :data="data" :props ...
- Element ui tree 搜索
搜索框 属性 :filter-node-method="filterNode" 对树节点进行筛选时执行的方法,返回 true 表示这个节点可以显示,返回 false 则表示这个节点 ...
随机推荐
- 架构:template
ylbtech-架构: 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http://ylbtech.cnbl ...
- View Programming Guide for iOS ---- iOS 视图编程指南(三)---Windows
Windows Every iOS application needs at least one window—an instance of the UIWindow class—and some m ...
- docker 远程连接设置
Docker为C/S架构,服务端为docker daemon,客户端为docker.service. 默认不会监听任何端口,只能在本地使用docker客户端或者使用Docker API进行操作.要支持 ...
- E20180423-hm
disclosure n. (发明等的) 公开; 泄露,揭露; 开诚布公的话; 被公开的事情,被披露的秘闻; alignment n. 结盟; 队列,排成直线; 校直,调整; [工] 准线; ali ...
- AndroidStudio中添加依赖的三种方式以及如何引入so文件和arr文件
AndroidStudio中添加依赖的三个选项,如图: 分别为:库依赖(Library dependency).文件依赖(File dependency)和module依赖(Module dep ...
- win10家庭版安装
https://www.microsoft.com/zh-cn/software-download/windows10ISO https://www.2cto.com/os/201704/621770 ...
- combobox级联检索下拉选择框
1.效果图 2.前端 @{ ViewBag.Title = "Index"; Layout = null; @*自动筛选下拉框*@ <script src="~/S ...
- Swift @objcMembers
使用@objcMembers关键字,将类中的所有方法暴露给Objc (效果等同于为所有方法加上@objc). 示例代码: @objcMembers class MyController: UIView ...
- 后缀数组 DC3构造法 —— 详解
学习了后缀数组,顺便把DC3算法也看了一下,传说中可以O(n)复杂度求出文本串的height,先比较一下倍增算法和DC3算法好辣. DC3 倍增法 时间复杂度 O(n)(但是常数很大) O(nlo ...
- Contextual Action bar(3) 两个示例
一.通过activity启动Context Action Bar 1.主java public class ActivityActionModeFrgmt extends Fragment imple ...