element-plus tree树形控件无法获取子节点解决办法(已解决)

这是树形控件  要怎么获取子组件id呢

 

 看官网介绍这些个方法都是可以用的但是笔主用vue3的组合式api获取dom时

这也方法都显示不存在

只能另辟它经

 

找了好久的解决办法:

利用事件中的checked 方法

 

思路:通过check会返回两个回调参数(data,node)

通过node.checkedKeys我们可以的到所有被选中子节点的id

<script>
let Ary = [] //定义一个中间数组来存放筛选出来的数据
//这里全选的话一个有1-28个数其中1-7是父节点我们不需要筛选掉
const checkChange = (a, b) => {
  let childerenArray = []
  b.checkedKeys.forEach(item=>{
    if (!(parseInt(item) in childerenArray)) {
      if (parseInt(item)>6){
        childerenArray.push(parseInt(item))
      }
    }
  })
  console.log(childerenArray)
  Ary = childerenArray
}
</scipit>

 这样就可以拿到id了

当然还有一个bug这样做,就是当折叠面板变化的时候这个中间数组的值并没有变,所有要做的是

通过这个change事件把这个临时数组 Ary=[]等于一个空数组

这样每次折叠面板改变后就依然是新的tree树

 完美解决 撒花!!!!!

 

获取element-plus树形控件中选中的数据,可以使用以下方法: 在Vue组件中,可以通过监听树形控件的`node-click`事件来获取选中的数据。在事件处理函数中,可以通过参数获取到选中的节点数据。例如,在`Tree.vue`组件中,可以使用`handleNodeClick`方法来处理节点点击事件,并在该方法中获取选中的数据。 ```javascript const handleNodeClick = (data) => { // 在这里处理选中节点的数据 console.log(data); } ``` 然后,在模板中,将`handleNodeClick`方法绑定到树形控件的`node-click`事件上: ```html <el-tree :data="menusData" :props="defaultProps" @node-click="handleNodeClick"></el-tree> ``` 这样,当用户点击树形控件节点时,`handleNodeClick`方法会被触发,并且可以通过`data`参数获取到选中的节点数据。 请注意,以上代码是基于提供的引用内容进行的推测,具体实现可能会根据实际情况有所不同。 #### 引用[.reference_title] - *1* *2* [vue2+element-plus tree树形控件添加、删除、编辑](https://blog.csdn.net/qq_48383411/article/details/118085303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [vue3+element-plus 实现多级树形控件](https://blog.csdn.net/weixin_43713498/article/details/125712398)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值