diff --git a/docs/pages/examples.vue b/docs/pages/examples.vue index d868800a..d09cf6fe 100644 --- a/docs/pages/examples.vue +++ b/docs/pages/examples.vue @@ -83,7 +83,7 @@ Dropdown with avatar: - + @@ -282,15 +282,14 @@ function onSubmit () { console.warn('submit') } -function onHover (item) { - console.log(item) -} - const dropdownItems = [ [{ label: 'Edit', icon: 'heroicons-solid:pencil', - click: () => onClick() + click: (e) => { + e.preventDefault() + onClick() + } }, { label: 'Duplicate', icon: 'heroicons-solid:duplicate' diff --git a/src/runtime/components/elements/Dropdown.vue b/src/runtime/components/elements/Dropdown.vue index f8d3a725..c98a8aaf 100644 --- a/src/runtime/components/elements/Dropdown.vue +++ b/src/runtime/components/elements/Dropdown.vue @@ -19,7 +19,7 @@
- + @@ -134,8 +134,6 @@ const props = defineProps({ } }) -defineEmits(['hover']) - const [trigger, container] = usePopper({ placement: props.placement, strategy: props.strategy, @@ -168,19 +166,20 @@ function resolveItemClass ({ active, disabled }: { active: boolean, disabled: bo ) } -function onItemClick (item: any) { +function onItemClick (e, item: any) { if (item.disabled) { return } if (item.click) { - item.click() + item.click(e) } } const menuApi: Ref = ref(null) let openTimeout: NodeJS.Timeout | null = null let closeTimeout: NodeJS.Timeout | null = null + onMounted(() => { setTimeout(() => { const menuProvides = trigger.value?.$.provides