vue element tree show-checkbox 回显的时候让选中的节点展开代码
时间: 2024-05-02 08:17:41 浏览: 160
你可以使用 `default-expand-all` 属性来展开所有节点,然后在选中节点后使用 `$refs` 引用树组件,然后调用 `setCheckedNodes` 方法来设置选中的节点,最后再使用 `setCheckedKeys` 方法来设置选中节点的所有父级节点为展开状态。
示例代码如下:
```html
<template>
<el-tree
ref="tree"
:data="data"
show-checkbox
node-key="id"
default-expand-all
:check-strictly="true"
@check="handleCheck"
></el-tree>
</template>
<script>
export default {
data() {
return {
data: [
{
id: 1,
label: '一级 1',
children: [
{
id: 11,
label: '二级 1-1',
children: [
{
id: 111,
label: '三级 1-1-1'
},
{
id: 112,
label: '三级 1-1-2'
}
]
},
{
id: 12,
label: '二级 1-2',
children: [
{
id: 121,
label: '三级 1-2-1'
},
{
id: 122,
label: '三级 1-2-2'
}
]
}
]
},
{
id: 2,
label: '一级 2',
children: [
{
id: 21,
label: '二级 2-1'
},
{
id: 22,
label: '二级 2-2'
}
]
}
],
checkedNodes: []
}
},
methods: {
handleCheck(checkedNodes) {
this.checkedNodes = checkedNodes
this.$nextTick(() => {
this.$refs.tree.setCheckedNodes(this.checkedNodes)
const checkedKeys = this.checkedNodes.map(node => node.id.toString())
this.$refs.tree.setCheckedKeys(checkedKeys)
})
}
}
}
</script>
```
阅读全文