vue 从el-tree后端返回的数据,选中数据,页面动态添加tag
时间: 2024-05-14 11:12:25 浏览: 171
要实现这个功能,你需要使用以下步骤:
1. 在 el-tree 组件中添加选中事件:
```html
<el-tree
:data="treeData"
:props="defaultProps"
node-key="id"
@node-click="handleNodeClick"
></el-tree>
```
2. 在 Vue 实例中定义 handleNodeClick 方法:
```javascript
methods: {
handleNodeClick(data) {
// 在这里处理选中节点后的逻辑
}
}
```
3. 在 handleNodeClick 方法中,将选中的节点数据添加到一个数组中:
```javascript
handleNodeClick(data) {
this.selectedNodes.push(data);
}
```
4. 在页面中渲染选中的节点,可以使用 v-for 循环渲染一个 tag 组件:
```html
<el-tag
v-for="(node, index) in selectedNodes"
:key="index"
>{{ node.label }}</el-tag>
```
5. 如果需要在取消选中节点时移除对应的 tag,可以在取消选中事件中从 selectedNodes 数组中移除对应的数据:
```javascript
handleNodeClick(data) {
if (this.isSelected(data)) {
this.selectedNodes.splice(this.selectedNodes.indexOf(data), 1);
} else {
this.selectedNodes.push(data);
}
},
isSelected(data) {
return this.selectedNodes.some(node => node.id === data.id);
}
```
阅读全文