:
indent
=
"0"
:
default
-
checked
-
keys
=
"treeDataSelect"
:
expand
-
on
-
click
-
node
=
"false"
@check
=
"handleNodeClick"
:
default
-
expand
-
all
=
"true"
>
<
/
el
-
tree
>
export
default
{
name
:
"upData"
,
data
(
)
{
return
{
treeDataSelect
:
[
]
,
menuIds
:
[
]
,
treeDate
:
[
]
,
methods
:
{
handleNodeClick
(
)
{
this
.
menuIds
=
this
.
$refs
.
tree
.
getCheckedKeys
(
)
.
concat
(
this
.
$refs
.
tree
.
getHalfCheckedKeys
(
)
)
<
/
script
>
SQA报告的测试bug
中
出现了一个问题,就是
element
-
ui
中
el-
tree
控件
中
子节点
未全部选
中
时,
父节点
的
id
在提交时不会传给后台接口,导致后台
获取
不到
父节点
id
,从而导致部分选
中
的
子节点
的所对应的用户权限功能不能使用。分析问题::data="pageAuthorityData"show-checkboxdefault-expand-allnode-key="permission
id
"re...
点击
父节点
,其下
子节点
全部统一跟随
父节点
变化,点击
子节点
,
子节点
部分勾选时,
父节点
处于半选状态。check-strictly 显示复选框的情况下,是否严格遵循父子互相关联的做法,默c认为 false。在进行选
中
侧边栏的角色调用接口
获取
id
数组 可以把 check-strictly状态设为true。,这样就不会勾选全部子级了。最后在
获取
数据后把状态改为false不会影响到正常的选择。设置为true,严格遵循父子不互相关联。默认false,父子关联。因此我们可以进行动态绑定修改它的状态。
el-
tree
一般常用于权限菜单授权,权限菜单管理等,此处做个小结
应用场景:将选
中
的
子节点
的
id
和半选状态下的父级
id
传到一个新的数组里,作为参数后端用于菜单授权
后端数据结构:isCheck = 1 时,为选
中
状态,
子节点
isCheck=1时,
父节点
isCheck 也是1
问题:刚开始使用this.$refs.
tree
.getCheckedNodes()
获取
选
中
的值,此方法只能选
中
子节点
的
id
,全选状态下这个方法才能
获取
到
父节点
的
id
,因此行不通
使用 this.refs.left
Tree
.getC
然后说下选
中
当前节点去
获取
其节点下的所有
子节点
的
ID
问题,网上搜了许多没有合适自己的方法,项目需求是单选,用了父子不关联的方法实现的单选,需要做下控制就是
父节点
不允许点击的情况下的
子节点
也不允许点击,这个时候就需要递归算法解决此问题,(递归算法适用所有场景下的
获取
子节点
的数据)第一个参数为ture表示
获取
子节点
下的数据,由于父子不关联,所以取值为空数组。官方提供了这个方法
获取
选
中
节点的数组可以方便我们进行递归实现。设置选
中
节点后去递归
获取
选
中
节点的所有
子节点
的数据。
el-
tree
点击
获取
所有节点
id
,再自己做之前查过其他博客,都不是很详细,主要是不简洁,在此写出我的方法
首先展示el-
tree
的数据结构以及字段,此处是
获取
后端的动态
tree
.因此字段有所不同,参考着根据自己实际情况而定
点击选
中
,并筛选所有选
中
的父级,子级,孙子级
Id
。
//el-
tree
树形
结构
<el-
tree
ref="
tree
"
这样就可以
获取
到所有的
id
了,当然如果
tree
树的
id
,默认是
id
那就不用管,如果
id
是别的如app
Id
等,可以通过绑定的数据来修改。就是存放
获取
到全部
id
的数组。把图三
中
对应的东西也改一下,
在父级选
中
后我们不需要父级的
id
,只要求子级已选
中
的
id
,当子级全部勾选后父级也执行勾选,此时也要把父级
id
去掉。1.通过 npm、yarn、pnpm 安装。这次比较简单直接,贴上代码就可以了!首先要在项目文件安装具体可以查看。
最近在编写后台管理系统,遇到需要
elementUI
tree
树形
控件
获取
父节点
ID
,正常情况下只是
获取
选
中
的节点,没选
中
节点无法
获取
id
.
这里经验分享
找到对应的
获取
id
的位置,将
获取
elementUI
tree
树形
控件
ID
代码:this.$refs.
tree
.getCheckedKeys()
替换成this.$refs.
tree
.getCheckedKeys().concat(this.$refs.
tree
.getHalfCheckedKeys())即可。无需修改源码。
在此要感谢这篇博..