现在有一个树形结构的菜单表,想用treeselect显示出来,在vue中怎么写
时间: 2023-05-17 21:05:01 浏览: 219
你可以使用 Vue.js 的组件库 Element UI 中的 TreeSelect 组件来实现这个功能。首先,你需要在 Vue.js 项目中引入 Element UI 组件库,然后在组件中使用 TreeSelect 组件。
以下是一个简单的示例代码:
```html
<template>
<div>
<el-tree-select
v-model="selectedNode"
:data="treeData"
:props="defaultProps"
placeholder="请选择"
clearable
@change="handleChange"
></el-tree-select>
</div>
</template>
<script>
import { TreeSelect } from 'element-ui';
export default {
components: {
'el-tree-select': TreeSelect,
},
data() {
return {
selectedNode: '',
treeData: [
{
id: 1,
label: '节点1',
children: [
{
id: 2,
label: '子节点1-1',
},
{
id: 3,
label: '子节点1-2',
},
],
},
{
id: 4,
label: '节点2',
children: [
{
id: 5,
label: '子节点2-1',
},
{
id: 6,
label: '子节点2-2',
},
],
},
],
defaultProps: {
children: 'children',
label: 'label',
},
};
},
methods: {
handleChange(value) {
console.log(value);
},
},
};
</script>
```
在这个示例中,我们使用了 Element UI 的 TreeSelect 组件,并传入了一个树形结构的数据源 treeData。我们还定义了一个 defaultProps 对象,用于指定树形结构中的子节点和标签的属性名。在组件中,我们使用 v-model 指令来绑定选中的节点,使用 @change 事件来监听选中节点的变化。
当用户选择一个节点时,handleChange 方法会被调用,并将选中节点的值打印到控制台中。
希望这个示例能够帮助你实现你的需求。
阅读全文