Skip to content

Commit 0330814

Browse files
committed
refactor(CDropdown): minor improvements
1 parent 1154cd2 commit 0330814

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

packages/coreui-vue/src/components/dropdown/CDropdown.ts

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
1-
import { defineComponent, h, nextTick, onUnmounted, provide, PropType, ref, Ref, watch } from 'vue'
1+
import {
2+
computed,
3+
defineComponent,
4+
h,
5+
nextTick,
6+
onUnmounted,
7+
provide,
8+
PropType,
9+
ref,
10+
Ref,
11+
watch,
12+
} from 'vue'
213
import type { Placement } from '@popperjs/core'
314

415
import { usePopper } from '../../composables'
@@ -54,7 +65,7 @@ const CDropdown = defineComponent({
5465
* - `'outside'` - the dropdown will be closed (only) by clicking outside the dropdown menu.
5566
*/
5667
autoClose: {
57-
type: [Boolean, String],
68+
type: [Boolean, String] as PropType<boolean | 'inside' | 'outside'>,
5869
default: true,
5970
validator: (value: boolean | string) => {
6071
return typeof value === 'boolean' || ['inside', 'outside'].includes(value)
@@ -181,7 +192,7 @@ const CDropdown = defineComponent({
181192

182193
const { initPopper, destroyPopper } = usePopper()
183194

184-
const popperConfig = {
195+
const popperConfig = computed(() => ({
185196
modifiers: [
186197
{
187198
name: 'offset',
@@ -196,7 +207,7 @@ const CDropdown = defineComponent({
196207
props.alignment,
197208
isRTL(dropdownMenuRef.value)
198209
) as Placement,
199-
}
210+
}))
200211

201212
watch(
202213
() => props.visible,
@@ -213,7 +224,7 @@ const CDropdown = defineComponent({
213224
dropdownRef
214225
)
215226
if (referenceElement && popper.value) {
216-
initPopper(referenceElement, dropdownMenuRef.value, popperConfig)
227+
initPopper(referenceElement, dropdownMenuRef.value, popperConfig.value)
217228
}
218229

219230
window.addEventListener('click', handleClick)

0 commit comments

Comments
 (0)