当前位置: 首页 > news >正文

【VUE】使用elementUI tree组件根据所选id自动回显

 需求如下:

1.点击父级节点 将父级节点下children中所有id放入数组

2.点击父级下的子节点 将点击的子节点放入数组

3.取消选择父节点,将放入数组的所有子节点id删除

4.根据选择的子节点数组,匹配他所属的父节点

								<el-tree:data="treeDefaultData":props="defaultProps"show-checkbox@check-change="handleCheckChange"></el-tree>data() {return {defaultProps: {children: 'children',label: 'label',},treeDefaultData: [],
}
}methods: {
//点击将选择到子节点id传入数组handleCheckChange(data, checked, indeterminate) {console.log('该节点所对应的对象:',data,'是否被选中:',checked,'节点的子树中是否有被选中的节点:',indeterminate);if (checked) {if (data.children) {for (let i in data.children) {const item = data.children[i];this.dataScopeList.push(item.id);}} else {this.dataScopeList.push(data.id);}this.dataScopeList = Array.from(new Set(this.dataScopeList));} else {if (data.children) {return;} else {this.dataScopeList = this.dataScopeList.filter(function (e) {return e !== data.id;});}}this.form.dataScopeList = this.dataScopeList;console.log(this.dataScopeList, 'dataScopeList');},// 将数组里的id 自动查找父级id,将所属的子项放入children 并组成新的数组对象calickDetails(row) {getDetails(row.userId).then((response) => {console.log(response.data);this.detailsData = response.data;this.detailsTreeShow = true;let detailsID = this.detailsData.dataScopeList; //详情页 关联门店IDlet result = this.treeDefaultData.filter((item) => {return (detailsID.includes(item.id) ||item.children.some((child) => detailsID.includes(child.id)));}).map((item) => {return {...item,children: item.children.filter((child) =>detailsID.includes(child.id)),};});this.detailsTreeData = result; //关联门店id所属超市及children});},
}

http://www.lryc.cn/news/98898.html

相关文章:

  • RocketMQ, Dashboard, 控制台安装
  • chrome解决http自动跳转https问题
  • FastGithub 下载
  • TSINGSEE青犀视频安防监控管理平台EasyNVR如何配置鉴权?
  • unittest 数据驱动DDT应用
  • 素数个数——数论
  • express编写一个简单的get接口
  • 【力扣刷题C++】环形链表
  • 如何用Python统计CSDN质量分
  • gin框架内容(三)--中间件
  • 如何在工作中利用Prompt高效使用ChatGPT
  • uniapp-小程序button分享传参,当好友通过分享点开该页面时,进行一些判断……
  • Ceph部署方法介绍
  • GoogleLeNet V2 V3 —— Batch Normalization
  • Mac 系统钥匙串证书不受信任
  • 一个企业级的文件上传组件应该是什么样的
  • 安全渗透重点内容
  • 【触觉智能Purple Pi OH开发板体验】开箱体验:开源主板Purple Pi RK3566 上手指北
  • flink1.16使用消费/生产kafka之DataStream
  • 【多任务编程-线程通信】
  • K8S暴露pod内多个端口
  • Python 列表
  • Rabbitmq的安装与使用(Linux版)
  • Kubernetes对象深入学习之四:对象属性编码实战
  • 深度学习入门教程(2):使用预训练模型来文字生成图片TextToImageGenerationWithNetwork
  • ORA-38760: This database instance failed to turn on flashback database
  • 避免低级错误:深入解析Java的ConcurrentModificationException异常
  • 7.28
  • java线程中的常见方法(详解)
  • 线程池参数配置