반응형
Vuetify - 선택 시 서브메뉴 항목에 대한 활성 클래스 설정
왼쪽 네비게이션 메뉴가 있는 Vue/Vuetify 앱이 있는데, 원래 제 시대 이전에 한 가지 수준의 아이템만 가지고 만든 앱입니다.두 번째 수준의 메뉴 항목을 추가해야 하는데, 상위 항목을 클릭하면 확장될 정도로 잘 작동하고 클릭 시 필요한 작업을 수행합니다.잘 모르는 것은 1) 선택한 서브메뉴 항목을 강조 표시하고 2) 클릭하면 상위 항목에서 강조 표시를 삭제하는 방법입니다.
요소의 마크업을 다음에 나타냅니다.
<template>
<v-list dark class="ap-sidebar-applist">
<v-list-group
class="ap-sidebar-group"
v-for="(item, i) in items"
:key="i"
:prepend-icon="item.icon"
:value="item.visible"
@click="onClick(item)"
>
<v-list-tile slot="activator">
<v-list-tile-title>{{ item.title }}</v-list-tile-title>
</v-list-tile>
<div v-if="item.children">
<v-list-tile class="sub-list"
v-for="(subMenu, j) in item.children"
:key="j"
@click="onClick(subMenu, true)"
active-class="default-class sub-list"
>
<v-list-tile-action>
<v-icon>{{ subMenu.icon }}</v-icon>
</v-list-tile-action>
<v-list-tile-title>{{ subMenu.title }}</v-list-tile-title>
</v-list-tile>
</div>
</v-list-group>
<!--</v-list-group> -->
</v-list>
</template>
여기 완전한 CodePen이 있습니다.CodePen의 한 가지 주의사항은setCurrentWorkspace
에서 호출되었다.onClick()
는 컴포넌트 트리 상단에서 앱의 다른 위치에 있는 메뉴 탭을 강조 표시하기 위해 사용되는 Vuex 작업입니다.
제가 보고 있는 건sub-class
클래스(로 정의)active-class
하위 항목의 경우)는 상위 항목이 있는 경우 두 하위 메뉴 항목에 모두 적용됩니다.Templates
아이템이 선택되고,v-list__group__header--active
클래스는 상위 항목에도 남아 있습니다.
부모에서 액티브 클래스를 수동으로 제거해야 합니까?Templates
다른 서브메뉴 항목에서 수동으로 삭제할 수 있습니까?아니면 현재 Vuetify API에서 더 쉬운 방법이 있을까요?
언급URL : https://stackoverflow.com/questions/56638395/vuetify-set-active-class-for-submenu-item-when-selected
반응형
'programing' 카테고리의 다른 글
Vue3 vuex "TypeError: vuex__"WEBPACK_IPORTED_MODULE_1_.Store.commit이 함수가 아닙니다. (0) | 2022.07.30 |
---|---|
Vuex, Axios 및 여러 컴포넌트 인스턴스와의 데이터 공유 제한 (0) | 2022.07.30 |
컴파일 시 엔디안성 판별 (0) | 2022.07.30 |
System.out.println()의 JUnit 테스트 (0) | 2022.07.30 |
C의 기능에 전달되는 어레이와 어레이 포인터의 차이 (0) | 2022.07.30 |