vue树状图el-tree父节点选择联动子节点,子节点选不影响父节点
最终样式图:
![学新通 学新通](/static/whole/images/alert/data-load/load-15.gif)
最终效果为:父节点选中时,选中所有子节点,父节点取消时,取消所有子节点,子节点选中不影响父节点
案例一:
选中父节点后取消子节点不影响父节点选中状态
![学新通 学新通](/static/whole/images/alert/data-load/load-15.gif)
案例二:
取消父节点后选择所有子节点,父节点状态不变
![学新通 学新通](/static/whole/images/alert/data-load/load-15.gif)
代码展示
前端页面代码展示:
-
<el-tree
-
style="max-height: 300px;overflow-y: auto;"
-
:data="custGroupList"
-
:default-checked-keys="searchForm.custGroup"
-
:check-strictly="true" **设置树状图状态为互不关联
-
@check-change="handleMenuCheckChange" **@check-change 与@change效果类型多了种可以获取选中状态的效果
-
show-checkbox **设置树状图为多选框结构
-
ref="tree"
-
node-key="code"
-
:props="defaultProps">
-
</el-tree>
js代码展示:
-
//树状图节点点击选中事件
-
handleMenuCheckChange(data,check,subCheck){ //data为选中节点信息,check选中状态
-
if (data.children !== undefined && data.children !== null) { //是否包含子节点
-
this.checkNode(data.children,check) //调用checkNode方法
-
}
-
//获取所有被选中的节点信息
-
let nodes = this.$refs.tree.getCheckedNodes(false, false)
-
//将获取到的信息赋值(根据自己的需求)
-
this.custGroupDesc = nodes.map(item => item.CN_NAME)
-
this.searchForm.custGroup = nodes.map(item => item.code)
-
},
-
//选中所有下级节点
-
checkNode(data,check){
-
//遍历所有下级节点信息
-
data.forEach(item => {
-
//通过节点信息设置选中状态
-
this.$refs.tree.setChecked(item,check,false)
-
//是否包含下级节点,包含下级节点则选中所有下级节点
-
if(item.children !== undefined){
-
this.checkNode(item.children,check)
-
}
-
})
-
}
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhhkbgfg
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22