我正在使用vuetify的treeview组件,并且我希望每个节点中的最后一个子节点成为路由器链接,有人知道如何实现此目标吗?
即使我可以绑定对我有用的@click事件。
我在文档或示例中看不到该怎么做。
这是我的组件的样子:
<template>
<div>
<v-treeview :items="items"></v-treeview>
</div>
</template>
<script>
export default {
data: () => ({
items: [
{
name: 'Parent',
children: [
{
name: 'Child1',
to:'booking' // <---I want to put a router link here or click event handler
}
]
}
]
})
}
</script>
答案 0 :(得分:1)
您需要为标签使用范围限定的插槽:
<template>
<div>
<v-treeview :items="items">
<template slot="label" slot-scope="props">
<router-link :to="props.item.to">{{ props.item.name }}</router-link>
</template>
</v-treeview>
</div>
</template>
您还应该确保在没有链接的情况下显示不具有to
属性的数据。您可以为此使用简单的v-if
:
<template>
<div>
<v-treeview :items="items">
<template slot="label" slot-scope="props">
<router-link :to="props.item.to" v-if="props.item.to">{{ props.item.name }}</router-link>
<span v-else>{{ props.item.name }}</span>
</template>
</v-treeview>
</div>
</template>