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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南