这是树形控件 要怎么获取子组件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树
完美解决 撒花!!!!!