不去做怎么知道做不到,用心做好每一天做好每一件事。|

轻风细雨_林木木

园龄:6年3个月粉丝:4关注:1

element-ui 中el-select 嵌套 tree树形控件(转帖)

参考位置:https://blog.csdn.net/weixin_45140661/article/details/90898558

主要代码:

控件部分

<template>
<div>
<el-form ref="form" :model="form" label-width="130px">
<el-form-item label="xx:">
<el-select v-model="form.selects" @change="selectChange" style="width: 100%;" popper-class="treeOption" multiple placeholder="xx">
<el-option :value="mineStatusValue" style="height: auto;">
<el-tree ref="tree"
node-key="ORGID" // 设置这才能设值
:data="options"
:props="optionProps"
show-checkbox
@check="handleCheckChange"></el-tree>
</el-option>
</el-select>
</el-form-item>
</el-form>
</div>
</template>

逻辑部分:

methods:{
handleCheckChange(){
let res = this.$refs.tree.getCheckedNodes(true, true) // 设置两个true 只选中勾选部分的子节点,不考虑父节点
let arrLabel = []
let arr = []
let temp =[]
res.forEach(item => {
arrLabel.push(item.ORGNAME); // lable值
arr.push(item); // lable和其他值的对象集合
});
this.mineStatusValue = arr;
this.form.selects = arrLabel
this.mineStatusValue.forEach(element => {
temp.push('.' + element + '.')
});
this.$emit('allocationCenterCall', temp.toString())
},
selectChange(e){
console.log(e,'ee')
var arrNew = [];
var dataLength = this.mineStatusValue.length;
var eleng = e.length;
for(let i = 0; i< dataLength ;i++){
for(let j = 0; j < eleng; j++){
if(e[j] === this.mineStatusValue[i].ORGNAME){
arrNew.push(this.mineStatusValue[i])
}
}
}
this.$refs.tree.setCheckedNodes(arrNew);//设置勾选的值 注意:node-key值
}
}
}

本文作者:轻风细雨_林木木

本文链接:https://www.cnblogs.com/linzhifen5/p/16961181.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   轻风细雨_林木木  阅读(151)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 尚好的青春 孙燕姿
  2. 2 孙燕姿
  3. 3 克卜勒 孙燕姿
- 孙燕姿
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.