eltree根节点的名字是通过父组件的eltable中的name属性动态获取的,假设如组件中name的值有a,b,c,d,四个值,当我们点击a时,eltree的根节点的名字就是a,如何实现
时间: 2024-05-04 08:17:27 浏览: 21
可以在点击a时,通过监听该事件,将a作为参数传递给eltree组件,然后在eltree组件中,通过props接收到这个参数,然后将该参数赋值给根节点的名字即可。
具体实现可以参考以下代码:
在父组件中:
```html
<template>
<div>
<el-button @click="handleClick('a')">a</el-button>
<el-button @click="handleClick('b')">b</el-button>
<el-button @click="handleClick('c')">c</el-button>
<el-button @click="handleClick('d')">d</el-button>
<el-tree :data="data" :root-name="rootName"></el-tree>
</div>
</template>
<script>
export default {
data() {
return {
data: [],
rootName: ''
};
},
methods: {
handleClick(name) {
this.rootName = name;
}
}
};
</script>
```
在eltree组件中:
```html
<template>
<el-tree :data="data" :props="defaultProps" :root-node="{ label: rootName }"></el-tree>
</template>
<script>
export default {
props: {
rootName: {
type: String,
default: ''
}
},
data() {
return {
data: [],
defaultProps: {
children: 'children',
label: 'label'
}
};
}
};
</script>
```
当点击a时,会将a作为参数传递给handleClick方法,然后将a赋值给rootName,这时rootName的值就是a,然后在eltree组件中,通过props接收到rootName的值,然后将其作为根节点的名字。其他的按钮点击也同理。
阅读全文