elementplus如何让el-tree中的checkbox实现单选
时间: 2024-03-26 09:34:07 浏览: 190
elment-ui tree单选实现
5星 · 资源好评率100%
在Element Plus的`el-tree`组件中,默认情况下`checkbox`是可以多选的,如果要实现单选,可以通过以下步骤实现:
1. 在`el-tree`组件上添加属性`show-checkbox`,并且将其值设置为`true`,以显示`checkbox`。
2. 在`el-tree`的`data`中添加一个属性,例如`checkedList`,用于保存选中的节点。
3. 在`el-tree`的`node-key`属性中指定节点的唯一标识符,例如`id`。
4. 在`el-tree`的`check`事件中,判断当前节点是否已经被选中,如果已经被选中,则从`checkedList`中删除该节点,否则将该节点添加到`checkedList`中。
5. 在`el-tree`的`node`的`checkStrictly`属性中设置为`true`,以强制`checkbox`只能通过点击节点来设置其状态,而不能通过勾选父节点或子节点来设置状态。
下面是一个示例代码:
```html
<template>
<el-tree
:data="data"
:show-checkbox="true"
:node-key="nodeKey"
:check-strictly="true"
@check="handleCheck">
</el-tree>
</template>
<script>
export default {
data() {
return {
data: [
{
id: 1,
label: 'Node 1',
},
{
id: 2,
label: 'Node 2',
},
{
id: 3,
label: 'Node 3',
},
],
checkedList: [],
nodeKey: 'id',
};
},
methods: {
handleCheck(node, checked) {
if (checked) {
this.checkedList.splice(0, this.checkedList.length, node);
} else {
this.checkedList.splice(0, this.checkedList.length);
}
},
},
};
</script>
```
在上面的代码中,我们通过`checkedList`数组保存选中的节点。在`handleCheck`方法中,我们判断当前节点是否已经被选中,如果已经被选中,则从`checkedList`中删除该节点,否则将该节点添加到`checkedList`中。同时,我们将`nodeKey`设置为`id`,以确保节点的唯一性。最后,我们将`checkStrictly`设置为`true`,以确保`checkbox`只能通过点击节点来设置其状态。
阅读全文