Можно ли заставить v-list
вести себя как стандартный элемент управления TreeView, чтобы были элементы и подэлементы, но одновременно можно было выбрать не более одного элемента или подэлемента?
Вот двухуровневый расширяемый список. Верхний уровень показывает компании, а вложенный уровень показывает людей в каждой компании. Вот скриншот:
Вот примерный скелет того, как я использую v-list-group
, v-list-item-group
и v-list-item
для достижения этой цели. :
<v-list>
<template v-for="(company, index) in companies">
<v-list-group
:key="'C-' + company.id"
:value="true"
>
<template v-slot:activator>
...
</template>
<v-list-item-group sub-group>
<v-list-item
v-for="member in company.members"
:key="'M-' + company.id + '.' + member.id"
>
<template v-slot:default>
...
</template>
</v-list-item>
</v-list-item-group>
</v-list-group>
</template>
</v-list>
Проблема в том, что мы должны позволять пользователю выбирать только одну компанию или человека за раз, но v-list
отслеживает активный элемент в каждой группе отдельно. Таким образом, нажатие на разных людей выберет всех из них, например:
Есть ли способ избежать этого и просто разрешить только один (1-й или 2-го уровня) узел за раз?