Skip to content

Commit bcda51b

Browse files
committed
Add code to emit the click button only when we split the button.
Add toggle event as original component.
1 parent 88cd774 commit bcda51b

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/components/BDropdown/BDropdown.vue

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
:disabled="disabled"
99
:type="splitButtonType"
1010
v-bind="buttonAttr"
11+
@click="onSplitClick"
1112
>
1213
{{ text }}
1314
<slot name="button-content" />
@@ -22,6 +23,7 @@
2223
class="dropdown-toggle-split dropdown-toggle"
2324
data-bs-toggle="dropdown"
2425
aria-expanded="false"
26+
@click="emit('toggle')"
2527
>
2628
<span class="visually-hidden">
2729
{{ toggleText }}
@@ -107,6 +109,8 @@ interface BDropdownEmits {
107109
(e: 'shown'): void
108110
(e: 'hide'): void
109111
(e: 'hidden'): void
112+
(e: 'click', event: Event): void
113+
(e: 'toggle'): void
110114
}
111115
112116
const emit = defineEmits<BDropdownEmits>()
@@ -121,6 +125,12 @@ useEventListener(parent, 'shown.bs.dropdown', () => emit('shown'))
121125
useEventListener(parent, 'hide.bs.dropdown', () => emit('hide'))
122126
useEventListener(parent, 'hidden.bs.dropdown', () => emit('hidden'))
123127
128+
const onSplitClick = (event: Event) => {
129+
if (props.split) {
130+
emit('click', event)
131+
}
132+
}
133+
124134
const classes = computed(() => ({
125135
'd-grid': props.block,
126136
'd-flex': props.block && props.split,

0 commit comments

Comments
 (0)