Menu is closing on smartphones now when a menu item is clicked
This commit is contained in:
@@ -5,15 +5,15 @@
|
||||
</button>
|
||||
<ul v-if="isMenuOpen || windowWidth > 768">
|
||||
<li v-for="item in menu" :key="item.name" @click="toggleSubmenu(item.name)">
|
||||
<router-link :to="item.link" v-if="item.link">
|
||||
<router-link :to="item.link" v-if="item.link" @click="closeMenu">
|
||||
{{ item.name }}
|
||||
</router-link>
|
||||
<span v-if="!item.link">
|
||||
<span v-if="!item.link" class="pointer">
|
||||
{{ item.name }}
|
||||
</span>
|
||||
<transition name="fade">
|
||||
<div v-if="item.submenu && item.submenu.length && (isSubmenuOpen[item.name] || windowWidth > 768)" class="dropdown-content">
|
||||
<router-link v-for="subitem in item.submenu" :key="subitem.name" :to="subitem.link">
|
||||
<router-link v-for="subitem in item.submenu" :key="subitem.name" :to="subitem.link" @click="closeMenu">
|
||||
{{ subitem.name }}
|
||||
</router-link>
|
||||
</div>
|
||||
@@ -60,6 +60,13 @@ export default {
|
||||
}
|
||||
};
|
||||
|
||||
const closeMenu = () => {
|
||||
isMenuOpen.value = false;
|
||||
Object.keys(isSubmenuOpen).forEach(key => {
|
||||
isSubmenuOpen[key] = false;
|
||||
});
|
||||
}
|
||||
|
||||
const handleResize = () => {
|
||||
windowWidth.value = window.innerWidth;
|
||||
if (windowWidth.value > 768) {
|
||||
@@ -84,7 +91,8 @@ export default {
|
||||
windowWidth,
|
||||
menu,
|
||||
toggleMenu,
|
||||
toggleSubmenu
|
||||
toggleSubmenu,
|
||||
closeMenu
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -210,10 +218,14 @@ export default {
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
display: none;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.navbar li:hover .dropdown-content {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user