el-tree使用handleNodeClick勾选树节点并获取当前选中的数组
时间: 2024-09-18 16:05:30 浏览: 180
el-tree-select:基于el-select和el-tree改造的树形选择器(下拉框)组件
`el-tree` 是 Element UI 中的一个组件,它是一个基于 Vue 的树形控件。`handleNodeClick` 是 `el-tree` 提供的一个事件处理器,用于处理节点点击事件。当你需要在用户点击树节点时进行一些操作,比如选中节点,并且想要获取当前选中的节点数组,你可以这样做:
1. 首先,在你的组件模板上绑定这个事件处理器,例如:
```html
<el-tree
:data="treeData"
node-key="id"
@node-click="handleNodeClick"
></el-tree>
```
其中 `treeData` 是数据源,`node-key` 是指定每个节点的独特标识。
2. 然后,在对应的 methods 中定义 `handleNodeClick` 函数,该函数接收两个参数:`node` (被点击的节点) 和 `event` (事件对象)。在这里,你可以检查节点的状态(是否已选中),然后更新状态并收集选中的节点列表:
```javascript
methods: {
handleNodeClick(node, event) {
// 如果节点未选中,设置为选中状态
if (!node.checked) {
node.checked = true;
// 将选中的节点添加到数组中,假设 selectedNodes 是一个空数组
this.selectedNodes.push(node);
} else { // 如果节点已经选中,则移除
node.checked = false;
const index = this.selectedNodes.indexOf(node);
if (index > -1) {
this.selectedNodes.splice(index, 1);
}
}
}
}
```
3. 当你需要获取当前选中的节点数组时,可以直接访问 `selectedNodes` 变量。
阅读全文