Активный класс элемента списка ящиков Vuetify

#vue.js #vuetify.js #vue-router

#vue.js #vuetify.js #vue-маршрутизатор

Вопрос:

** Когда я нажимаю на заголовок и значок элемента v-list, происходит только переход со страницы на соответствующую страницу. когда я нажимаю на стрелку вниз, это просто открывает список, а не переходит на соответствующую страницу.Можете ли вы объяснить кому-нибудь, пожалуйста? **

      <!-- list-items -->
     <v-list-group
         v-for="item in items"
         :key="item.title"
       v-model="item.active"
       active-class="activelistgroup"
       no-action
     >
       <template v-slot:activator >
         <v-list-item :to="item.link" >
           <v-list-item-icon>
             <v-icon v-text="item.action"></v-icon>
           </v-list-item-icon>
           <v-list-item-content >
             <v-list-item-title v-text="item.title"></v-list-item-title>
           </v-list-item-content>
         </v-list-item>
       </template>

       <v-list-item v-for="child in item.items" :key="child.title">
         <!-- :to="child.link" -->
         <v-list-item-content>
           <v-list-item-title
             class="subtitle"
             v-text="child.title"
           ></v-list-item-title>
         </v-list-item-content>
       </v-list-item>
     </v-list-group>
   </v-list>
 .activelistgroup {
background-color: $appbar-color;

}
.drawer {
background-color: $drawer-color;
width: 300;
}

.v-list--dense .v-list-group--active .v-list-item .v-list-item__title {
color: $font-active;

}
.v-list--dense .v-list-group--active .v-list-item .v-list-item__icon {
color: $font-active;
}
.v-list--dense .v-list-group--active .v-list-item .subtitle {
color: black;
}
.support {
margin-left: 50px;
}
.v-list-item--active a{
padding: 0px;//need to change active class of a
background-color: $appbar-color;
}
 

Ответ №1:

Попробуй это:

 <template v-slot:activator>
    <v-list-item :to="item.link">
        <v-list-item-action>
            <v-btn icon :to="item.link">
                <v-icon v-text="item.action"></v-icon>
            </v-btn>
        </v-list-item-action>
        <v-list-item-content>
            <v-list-item-title v-text="item.title"></v-list-item-title>
        </v-list-item-content>
    </v-list-item>
</template>
 

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

1. В моем случае я не понял, что <v-list-item> имеет слишком много реквизитов, включая реквизит «кому», который выполняет всю тяжелую работу (перенаправление и выделение текущего раздела в меню). Только одно, пожалуйста, обновите или дайте больше ссылок на это решение, возможно, будет полезно объяснить, почему вы используете этот код как правильное решение