按照element上的文档来使用element 里面的树形组件
使用后 突然发现报错
“TypeError: this.$refs.tree.getCheckedNodes is not a function”
黑人问号脸???
排查原因
把 ref 打印一下 发现竟然有五个tree
突然想到 el-tree 是通过for 循环出来的 所以造成了有五个 一样的ref
知道原因就好解决了
解决方案一:
只获取某个tree里面的值
this.$refs.tree[0].getCheckedNodes();
解决方案二:
<el-tree
:props="defaultProps"
:data="item.children"
node-key="id"
ref="tree"
show-checkbox
@check="(click, checked)=>{handleCheckChange(click, checked)}"
>
</el-tree>
handleCheckChange(data, checked,) {
console.log(checked.checkedKeys);
console.log("全选",checked.checkedNodes);
console.log(checked.halfCheckedKeys);
console.log("半选",checked.halfCheckedNodes);
},
这样就可以啦
完工 摸鱼!
参考文档
https://www.imooc.com/wenda/detail/478028
https://blog.csdn.net/houwanle/article/details/107173090