el-tree叶子节点添加单选按钮
时间: 2023-08-16 11:14:31 浏览: 516
对于 el-tree 叶子节点添加单选按钮,你可以使用 el-checkbox 组件来实现。你可以通过自定义 el-tree 的节点模板来实现这一功能。下面是一个简单的示例代码:
```
<template>
<div>
<el-tree
:data="treeData"
:props="treeProps"
:node-key="treeKey"
:default-expanded-keys="expandedKeys"
:default-checked-keys="checkedKeys"
show-checkbox
@check="handleCheck"
>
<template v-slot="{ node, data }">
<span>
<el-checkbox v-model="data.checked" @change="handleCheckboxChange(data)"></el-checkbox>
{{ node.label }}
</span>
</template>
</el-tree>
</div>
</template>
<script>
export default {
data() {
return {
treeData: [
{
label: 'Node 1',
children: [
{ label: 'Leaf 1' },
{ label: 'Leaf 2' },
{ label: 'Leaf 3' }
]
},
{
label: 'Node 2',
children: [
{ label: 'Leaf 4' },
{ label: 'Leaf 5' }
]
}
],
treeProps: {
children: 'children',
label: 'label'
},
treeKey: 'label',
expandedKeys: [],
checkedKeys: []
};
},
methods: {
handleCheck(checkedNodes) {
this.checkedKeys = checkedNodes.map(node => node.data.label);
},
handleCheckboxChange(data) {
// 处理单个 checkbox 的改变
}
}
};
</script>
```
在这个示例中,我们使用了 el-tree 组件来展示树状结构的数据。使用 show-checkbox 属性来显示复选框,同时使用 el-checkbox 组件来实现单选按钮的效果。在节点模板中,我们将 el-checkbox 组件与节点的 label 进行绑定,通过 v-model 来实现选中状态的绑定,同时通过 @change 事件来处理单个 checkbox 的改变。
你可以根据自己的需求修改示例代码,将数据和事件处理逻辑适配到你的项目中。希望能对你有所帮助!
阅读全文