Как добавить стрелку раскрывающегося списка на родительской панели расширения v-list-group?

#vuetify.js

#vuetify.js

Вопрос:

Я пытаюсь добавить стрелку раскрывающегося списка на a v-list-group и добавить значок поиска. Это работает, но значок поиска переворачивается при открытии списка, а не выпадающего списка, как и следовало ожидать

 <v-list-group
    v-for="item in items"
    :key="item.title"
    prepend-icon="$expand"
    append-icon="search"
    v-model="item.active"
    no-action
>
    <template v-slot:activator v-slot:prependIcon>
    <v-list-item-content>
        <v-list-item-title v-text="item.title"></v-list-item-title>
    </v-list-item-content>
    </template>

    <v-list-item
    v-for="child in item.items"
    :key="child.title"
    >
    <v-list-item-avatar>
        <v-img max-height="30" max-width="30" :src="child.avatar"></v-img>
    </v-list-item-avatar>
    <v-list-item-content>
        <v-list-item-title v-text="child.title"></v-list-item-title>
    </v-list-item-content>
    </v-list-item>
</v-list-group>
  

Как мне это исправить?

Пример Codepen.

Ответ №1:

Для решения я добавил sub-group свойство в группу списков и добавил значок в слот активатора через v-list-item-icon .

 <v-list-group
  v-for="item in items"
  :key="item.title"
  prepend-icon="$expand"
  v-model="item.active"
  no-action
  sub-group
>
  <template v-slot:activator>
    <v-list-item-content>
      <v-list-item-title v-text="item.title"></v-list-item-title>
    </v-list-item-content>
    <v-list-item-icon>
      <v-icon>mdi-magnify</v-icon>
    </v-list-item-icon>
  </template>

  <v-list-item
    v-for="child in item.items"
    :key="child.title"
  >
    <v-list-item-avatar>
      <v-img
        max-height="30"
        max-width="30"
        :src="child.avatar"
      ></v-img>
    </v-list-item-avatar>
    <v-list-item-content>
      <v-list-item-title v-text="child.title"></v-list-item-title>
    </v-list-item-content>
  </v-list-item>
</v-list-group>
  

sub-group не очень хорошо документировано, но, по-видимому, оно перемещает значок расширения влево.

Комментарии:

1. Я пробовал использовать sub-group раньше, и в других списках были странные отступы, я не уверен, была ли это проблема с полями или отступами (я могу проверить). Но я попробовал ваше решение, и у меня увеличилась ширина карты: codepen.io/Corbin/pen/jOrQjpm?editors=1010

2. Оберните компонент v-card в div .

3. Потрясающее спасибо. Мне также пришлось внести некоторые изменения в CSS, чтобы все работало нормально. Если вы хотите внести изменения в те, которые были бы классными. codepen.io/Corbin/pen/ExyGEdR?editors=1010