Компонент группы списка отображает данные неправильно. заголовок, который должен быть на плитке активатора слота, отображается вместе с выпадающими элементами.
Я использовал пример vuetify.js API здесь: https://vuetifyjs.com/en/components/lists. даже с исходным примером я получаю те же результаты.
Внешний компонент:
<template>
<v-container>
<v-dialog :v-model = "dialog" persistent width = "800">
<v-card>
<v-card-title class = "headline grey lighten-4" primary-title>File Results
<v-spacer/>
<v-btn flat icon @click = "close">
<v-icon color = "black" medium>cancel</v-icon>
</v-btn>
</v-card-title>
<ResultListView/>
<v-card-actions>
<v-spacer></v-spacer>
<v-btn color = "primary" flat @click = "openFileDialog">results</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</v-container>
</template>
Список компонентов из примера vuetify:
<template>
<v-layout row>
<v-flex xs12 sm6 offset-sm3>
<v-card>
<v-toolbar color = "teal" dark>
<v-toolbar-side-icon></v-toolbar-side-icon>
<v-toolbar-title>Topics</v-toolbar-title>
<v-spacer></v-spacer>
<v-btn icon>
<v-icon>more_vert</v-icon>
</v-btn>
</v-toolbar>
<v-list>
<v-list-group
v-for = "item in items"
:key = "item.title"
v-model = "item.active"
:prepend-icon = "item.action"
aria-expanded = "true"
no-action
>
<template v-slot:activator>
<v-list-tile>
<v-list-tile-content>
<v-list-tile-title>{{ item.title }}</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
</template>
<v-list-tile
v-for = "subItem in item.items"
:key = "subItem.title"
>
<v-list-tile-content>
<v-list-tile-title>{{ subItem.title }}</v-list-tile-title>
</v-list-tile-content>
<v-list-tile-action>
<v-icon>{{ subItem.action }}</v-icon>
</v-list-tile-action>
</v-list-tile>
</v-list-group>
</v-list>
</v-card>
</v-flex>
</v-layout>
</template>
<script>
export default {
data () {
return {
items: [
{
action: 'local_activity',
title: 'Attractions',
items: [
{ title: 'List Item' }
]
},
{
action: 'restaurant',
title: 'Dining',
active: true,
items: [
{ title: 'Breakfast & brunch' },
{ title: 'New American' },
{ title: 'Sushi' }
]
},
{
action: 'school',
title: 'Education',
items: [
{ title: 'List Item' }
]
},
{
action: 'directions_run',
title: 'Family',
items: [
{ title: 'List Item' }
]
},
{
action: 'healing',
title: 'Health',
items: [
{ title: 'List Item' }
]
},
{
action: 'content_cut',
title: 'Office',
items: [
{ title: 'List Item' }
]
},
{
action: 'local_offer',
title: 'Promotions',
items: [
{ title: 'List Item' }
]
}
]
}
}
}
</script>
Я ожидаю, что результаты будут аналогичны предоставленному примеру API. но я получаю следующий результат:
версия: 1.4.1
Хорошо, я думал, что если это старая версия, это может быть причиной, но я так не думаю. Я не могу воспроизвести проблему, с которой вы столкнулись, поэтому могу только думать, что у вас есть что-то еще, вызывающее конфликт, но я не знаю. Попробуйте протестировать компонент списка сам по себе, а не в диалоговом окне, и добавляйте элементы до тех пор, пока он не сломается.
Поскольку вы используете версию 1.4.1, вам также следует просмотреть документацию vuetify для правильной версии,
Если вы хотите внести какие-либо изменения, просто просмотрите эту документацию для v1
https://v1.vuetifyjs.com/en/components/lists#list или просто обновите версию vuetify.
ниже приведен код вашего решения,
<template>
<v-layout row>
<v-flex xs12 sm6 offset-sm3>
<v-card>
<v-toolbar color = "teal" dark>
<v-toolbar-side-icon></v-toolbar-side-icon>
<v-toolbar-title>Topics</v-toolbar-title>
<v-spacer></v-spacer>
<v-btn icon>
<v-icon>more_vert</v-icon>
</v-btn>
</v-toolbar>
<v-list>
<v-list-group
v-for = "item in items"
v-model = "item.active"
:key = "item.title"
:prepend-icon = "item.action"
no-action
>
<v-list-tile slot = "activator">
<v-list-tile-content>
<v-list-tile-title>{{ item.title }}</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile v-for = "subItem in item.items" :key = "subItem.title">
<v-list-tile-content>
<v-list-tile-title>{{ subItem.title }}</v-list-tile-title>
</v-list-tile-content>
<v-list-tile-action>
<v-icon>{{ subItem.action }}</v-icon>
</v-list-tile-action>
</v-list-tile>
</v-list-group>
</v-list>
</v-card>
</v-flex>
</v-layout>
</template>
<script>
export default {
data () {
return {
items: [
{
action: 'local_activity',
title: 'Attractions',
items: [
{ title: 'List Item' }
]
},
{
action: 'restaurant',
title: 'Dining',
active: true,
items: [
{ title: 'Breakfast & brunch' },
{ title: 'New American' },
{ title: 'Sushi' }
]
},
{
action: 'school',
title: 'Education',
items: [
{ title: 'List Item' }
]
},
{
action: 'directions_run',
title: 'Family',
items: [
{ title: 'List Item' }
]
},
{
action: 'healing',
title: 'Health',
items: [
{ title: 'List Item' }
]
},
{
action: 'content_cut',
title: 'Office',
items: [
{ title: 'List Item' }
]
},
{
action: 'local_offer',
title: 'Promotions',
items: [
{ title: 'List Item' }
]
}
]
}
}
}
</script>
Надеюсь, поможет !
@MichaelGabbay Круто,
Какую версию vuetify вы используете в своем приложении?