将链接添加到 Vuetify 树视图

Bra*_*rad 2 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>
Run Code Online (Sandbox Code Playgroud)

Ham*_*bot 6

您需要为标签使用作用域插槽:

<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>
Run Code Online (Sandbox Code Playgroud)

您还应该确保显示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>
Run Code Online (Sandbox Code Playgroud)

  • 我也使用这个解决方案,问题是,在我使用树视图的导航菜单中,我必须按链接才能工作,我希望当我按行内的任何位置时该路线都可以工作,你知道怎么做达到这个目的? (4认同)