vue3 中elementui plus 里面的树形控件的默认勾选的节点的 key 的数组设置成动态
时间: 2024-05-07 17:16:16 浏览: 78
element-ui tree树形控件:default-checked-keys 设置空数组 默认还是选中状态问题
5星 · 资源好评率100%
的,可以通过以下方式实现:
1. 在 data 中定义一个数组,用于存储默认勾选的节点的 key。
2. 在 Tree 组件中,通过 v-model 绑定选中的节点的 key 的数组。
3. 在 mounted 钩子函数中,通过遍历树的节点,将默认勾选的节点的 key 添加到数组中。
示例代码:
```html
<template>
<el-tree
:data="treeData"
:props="defaultProps"
:default-checked-keys="checkedKeys"
v-model="checkedKeys"
></el-tree>
</template>
<script>
import { ref, onMounted } from 'vue';
import { ElTree } from 'element-plus';
export default {
components: {
ElTree,
},
setup() {
const treeData = ref([
{
label: 'Node1',
key: '1',
children: [
{
label: 'Node1-1',
key: '1-1',
},
{
label: 'Node1-2',
key: '1-2',
},
],
},
{
label: 'Node2',
key: '2',
children: [
{
label: 'Node2-1',
key: '2-1',
},
{
label: 'Node2-2',
key: '2-2',
},
],
},
]);
const checkedKeys = ref([]);
const defaultProps = {
children: 'children',
label: 'label',
key: 'key',
};
onMounted(() => {
// 遍历树的节点,将默认勾选的节点的 key 添加到数组中
treeData.value.forEach((node) => {
if (node.key === '1-1') {
checkedKeys.value.push(node.key);
}
if (node.key === '2-2') {
checkedKeys.value.push(node.key);
}
});
});
return {
treeData,
checkedKeys,
defaultProps,
};
},
};
</script>
```
在上面的示例中,我们定义了一个数组 checkedKeys 用于存储默认勾选的节点的 key,通过遍历树的节点,将默认勾选的节点的 key 添加到数组中,然后将数组绑定到 Tree 组件的 v-model 中,实现了树形控件默认勾选节点 key 的数组设置成动态的功能。
阅读全文