问题: 项目中需要在不点击树节点的情况下让树节点展开,在官方文档里面,只提供了一个默认展开的属性(default-expanded-keys),这个属性接收一个数组,数组里面就是要默认展开的项,但是这个只在最开始有用,后面要想某个节点展开就没有办法了。
解决方式: 官方没有提供展开节点的方法,就只有自己想办法了,我这里是给每一个节点都设置一个id,通过这个 id 拿到dom元素,然后执行click方法模拟点击效果。代码如下:
html部分代码:
<el-tree
:data="treeData"
>
<span :id="data.id" class="custom-tree-node" slot-scope="{node,data}">
<span style="line-height:32px;">{{node.label}}</span>
</span>
</el-tree>
js部分代码:
data(){
return {
treeData:[
{
id:1,
label:'节点1',
children:[
{
id:2,
label:'节点1-1',
},
{
id:3,
label:'节点1-2'
}
]
}
]
}
}
mounted(){
docoument.getElementById('1').click();
}
这样,就可以看到节点1是自动展开的了,在需要改变某个节点展开状态时,通过 document.getElementById(id).click() 的方法就可以实现。