elementUI 选择器下拉树Tree组件实现,el-select下拉树
在Element UI中,可以使用el-select
组件结合el-tree
组件来实现下拉树的功能。以下是一个简单的实现示例:
<template>
<el-select v-model="selectedValue" placeholder="请选择">
<el-option :value="selectedValue" style="height: 300px">
<el-tree
:data="treeData"
:props="defaultProps"
node-key="id"
ref="tree"
:highlight-current="true"
:expand-on-click-node="false"
@node-click="handleNodeClick"
></el-tree>
</el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
selectedValue: null,
treeData: [
{ id: 1, label: '一级 1', children: [{ id: 4, label: '二级 1-1' }] },
{ id: 2, label: '一级 2', children: [{ id: 5, label: '二级 2-1' }] },
{ id: 3, label: '一级 3', children: [{ id: 6, label: '二级 3-1' }] }
],
defaultProps: {
children: 'children',
label: 'label'
}
};
},
methods: {
handleNodeClick(data) {
this.selectedValue = data.id;
this.$refs.select.blur(); // 关闭下拉框
}
}
};
</script>
在这个例子中,el-select
组件用来创建下拉菜单,el-tree
组件用来展示树形结构。通过el-option
的style
属性设置了足够的高度来容纳el-tree
。在el-tree
的node-click
事件中,我们更新了selectedValue
,并调用this.$refs.select.blur()
来关闭下拉菜单。
评论已关闭