添加链接到Vuetify树视图

时间:2019-03-13 11:05:55

标签: javascript vue.js vuetify.js

我正在使用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>

1 个答案:

答案 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>