This repository was archived by the owner on Mar 27, 2025. It is now read-only.
File tree 4 files changed +10
-8
lines changed
packages/bootstrap-vue-next/src
4 files changed +10
-8
lines changed Original file line number Diff line number Diff line change @@ -95,7 +95,7 @@ const navbarData = inject(navbarInjectionKey, null)
95
95
// Pretty sure this emits if computedTag is not button and is disabled
96
96
const clicked = (e : MouseEvent ): void => {
97
97
emit (' click' , e )
98
- if (navbarData !== null ) {
98
+ if (navbarData !== null && navbarData ?. autoClose ?. value === true ) {
99
99
collapseData ?.close ?.()
100
100
}
101
101
dropdownData ?.close ?.()
Original file line number Diff line number Diff line change 12
12
:href =" localHref"
13
13
:class =" [(activeBoolean ?? isActive) && `${activeClass} ${defaultActiveClass}`]"
14
14
v-bind =" $attrs"
15
- @click =" ;[navigate($event), closeCollapse(), clicked($event)]"
15
+ @click =" ;[navigate($event), clicked($event)]"
16
16
>
17
17
<slot />
18
18
</component >
@@ -78,11 +78,6 @@ const disabledBoolean = useBooleanish(() => props.disabled)
78
78
const replaceBoolean = useBooleanish (() => props .replace )
79
79
const collapseData = inject (collapseInjectionKey , null )
80
80
const navbarData = inject (navbarInjectionKey , null )
81
- const closeCollapse = () => {
82
- if (navbarData !== null ) {
83
- collapseData ?.close ?.()
84
- }
85
- }
86
81
87
82
const instance = getCurrentInstance ()
88
83
@@ -164,7 +159,10 @@ const clicked = (e: MouseEvent): void => {
164
159
return
165
160
}
166
161
167
- if (collapseData ?.isNav ?.value === true ) {
162
+ if (
163
+ (collapseData ?.isNav ?.value === true && navbarData === null ) ||
164
+ (navbarData !== null && navbarData ?.autoClose ?.value === true )
165
+ ) {
168
166
collapseData ?.close ?.()
169
167
}
170
168
Original file line number Diff line number Diff line change @@ -22,6 +22,7 @@ const props = withDefaults(
22
22
toggleable? : boolean | Breakpoint
23
23
variant? : ColorVariant | null
24
24
container? : ' fluid' | boolean
25
+ autoClose? : boolean
25
26
}>(),
26
27
{
27
28
variant: null ,
@@ -31,6 +32,7 @@ const props = withDefaults(
31
32
tag: ' nav' ,
32
33
toggleable: false ,
33
34
container: ' fluid' ,
35
+ autoClose: true ,
34
36
}
35
37
)
36
38
@@ -65,5 +67,6 @@ const computedClasses = computed(() => ({
65
67
66
68
provide (navbarInjectionKey , {
67
69
tag: toRef (() => props .tag ),
70
+ autoClose: toRef (() => props .autoClose ),
68
71
})
69
72
</script >
Original file line number Diff line number Diff line change @@ -104,4 +104,5 @@ export const dropdownInjectionKey: InjectionKey<{
104
104
105
105
export const navbarInjectionKey : InjectionKey < {
106
106
tag ?: Readonly < Ref < string > >
107
+ autoClose ?: Readonly < Ref < boolean > >
107
108
} > = Symbol ( 'navbar' )
You can’t perform that action at this time.
0 commit comments