vue3 在element的tree树节点根据数据响应式更新
时间: 2024-03-13 12:45:36 浏览: 79
在 Vue3 中更新 ElementUI 的 Tree 组件的节点可以通过以下步骤:
1. 定义一个响应式数据,例如 `treeData`。
2. 在 Tree 组件中使用 `v-model` 指令绑定 `treeData`。
3. 在 `treeData` 中更新数据时,Tree 组件会自动响应式更新。
具体实现代码如下:
```vue
<template>
<div>
<el-tree
:data="treeData"
v-model="treeData"
:props="defaultProps"
@node-click="handleNodeClick"
></el-tree>
</div>
</template>
<script>
import { reactive } from 'vue';
export default {
setup() {
const treeData = reactive([
{
label: '一级 1',
children: [
{
label: '二级 1-1',
children: [
{
label: '三级 1-1-1',
},
],
},
],
},
]);
const defaultProps = {
children: 'children',
label: 'label',
};
function handleNodeClick(data) {
console.log(data);
}
return {
treeData,
defaultProps,
handleNodeClick,
};
},
};
</script>
```
在上面的代码中,我们通过 `reactive` 函数将 `treeData` 变成响应式数据,在 Tree 组件中使用 `v-model` 指令将其绑定到 Tree 组件上,然后在 `handleNodeClick` 函数中可以看到,我们可以正常地获取到更新后的节点数据。
阅读全文