Skip to content

Commit 276e96b

Browse files
committedFeb 25, 2024
refactor: emit ref value instead of static boolean
1 parent 6ed0dc8 commit 276e96b

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed
 

‎src/components/UsaNavPrimary/UsaNavPrimary.vue

+1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ onClickOutside(nav, closeAllItems)
6363
<template v-for="item in items">
6464
<UsaNavDropdown
6565
v-if="item?.children?.length"
66+
:id="item?.id"
6667
:key="item?.id || item.text"
6768
>
6869
<UsaNavDropdownButton

‎src/composables/useMobileMenu.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export function useMobileMenu(emit) {
1111
isMobileMenuOpen.value = false
1212

1313
if (emit) {
14-
emit('mobileMenuOpen', false)
14+
emit('mobileMenuOpen', isMobileMenuOpen.value)
1515
}
1616

1717
document.body.classList.remove(mobileMenuOpenClass)
@@ -24,7 +24,7 @@ export function useMobileMenu(emit) {
2424
isMobileMenuOpen.value = true
2525

2626
if (emit) {
27-
emit('mobileMenuOpen', true)
27+
emit('mobileMenuOpen', isMobileMenuOpen.value)
2828
}
2929

3030
document.body.classList.add(mobileMenuOpenClass)

‎src/composables/useToggle.js

+8-6
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,18 @@ export function useToggle(_id, idPrefix = '', defaultOpen = false, emit) {
99

1010
const closeContent = () => {
1111
isOpen.value = false
12+
13+
if (emit) {
14+
emit('update:open', isOpen.value)
15+
}
1216
}
1317

1418
const openContent = () => {
1519
isOpen.value = true
20+
21+
if (emit) {
22+
emit('update:open', isOpen.value)
23+
}
1624
}
1725

1826
const toggleContent = () => {
@@ -23,12 +31,6 @@ export function useToggle(_id, idPrefix = '', defaultOpen = false, emit) {
2331
}
2432
}
2533

26-
watch(isOpen, newValue => {
27-
if (emit) {
28-
emit('update:open', newValue)
29-
}
30-
})
31-
3234
watch(propValue, newValue => {
3335
if (propValue.value !== newValue) {
3436
toggleContent()

0 commit comments

Comments
 (0)
Please sign in to comment.