el-select树形
时间: 2023-10-08 15:09:08 浏览: 100
你可以使用 Element UI 中的 `<el-select>` 组件来实现树形选择器。以下是一个简单的示例:
```html
<template>
<el-select v-model="selectedNode" placeholder="请选择" :clearable="true">
<el-option
v-for="node in treeData"
:key="node.id"
:label="node.label"
:value="node"
:disabled="node.disabled"
>
<span>{{ node.label }}</span>
<template v-if="node.children && node.children.length">
<el-option-group>
<el-option
v-for="child in node.children"
:key="child.id"
:label="child.label"
:value="child"
:disabled="child.disabled"
>
<span>{{ child.label }}</span>
</el-option>
</el-option-group>
</template>
</el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
selectedNode: null,
treeData: [
{
id: 1,
label: '节点1',
children: [
{ id: 11, label: '子节点1-1' },
{ id: 12, label: '子节点1-2' },
],
},
{
id: 2,
label: '节点2',
children: [
{ id: 21, label: '子节点2-1' },
{ id: 22, label: '子节点2-2' },
],
},
// 其他节点...
],
};
},
};
</script>
```
在这个示例中,`treeData` 数组包含了树形结构的数据,每个节点都有一个 `label` 属性和一个可选的 `children` 属性,用来表示子节点。使用 `v-for` 指令来遍历树形结构,使用 `<el-option>` 和 `<el-option-group>` 组件来渲染选项和选项组。
你可以根据实际需求修改示例中的数据和样式,并添加相应的事件处理逻辑。希望这能帮到你!如果还有其他问题,请随时提问。
阅读全文