我正在使用Vue 3和Vuetify 3制作一个v-navigation-drawer
组件。v-navigation-drawer
运行良好,但我希望在项目第一次运行时默认显示子菜单,而无需用户单击。我使用v-slot:activator
显示子菜单。当项目运行时,用户应该看到v-navigation-drawer
的子菜单项。
我的密码是-
<template>
<v-navigation-drawer v-model="drawer" width="325">
<v-list :lines="false" density="compact" nav >
<v-list-group v-for="(item, i) in items" :key="i" :value="item" >
<template v-slot:activator="{ props }">
<v-list-item v-bind="props" :prepend-icon="item.icon" :title="item.text" active-color="orange-darken-1"
rounded="xl" ></v-list-item>
</template>
<v-list-item-title v-for="itemdetail in item.subItem" :key="itemdetail.id" :value="itemdetail" >
<template v-if="itemdetail">
<v-list-item :prepend-icon="itemdetail.icon" :title="itemdetail.text"
active-color="teal-darken-1" rounded="xl">
</v-list-item>
</template>
</v-list-item-title>
</v-list-group>
</v-list>
</v-navigation-drawer>
</template>
<script>
export default {
data: () => ({
drawer: true,
items: [{
text: 'Parent Menu',
icon: 'mdi-pier-crane',
subItem: [{
text: 'Child Menu 1',
icon: 'mdi-engine'
},
{
text: 'Child Menu 2',
icon: 'mdi-calculator-variant'
},
{
text: 'Child Menu 3',
icon: 'mdi-list-status'
},
{
text: 'Child Menu 4',
icon: 'mdi-calendar-edit'
},
]
}, ],
}),
}
</script>
1条答案
按热度按时间w3nuxt5m1#
要默认打开或通过任何操作打开,请使用列表组中的
v-model:opened
。只需执行以下步骤-1.创建名为
open
的数据属性。1.在列表元素上使用
v-model:opened="open"
。1.将列表组与
text
属性绑定,如下所示:value="item.text"
1.由于列表组绑定了
text
属性,因此将所需项目的text
属性值赋给open
数据属性,即open: ['Parent Menu']
这是一个工作演示-