diff --git a/packages/components/dropdown/__tests__/dropdown.spec.ts b/packages/components/dropdown/__tests__/dropdown.spec.ts
index eb32c8b552..c1e85158c8 100644
--- a/packages/components/dropdown/__tests__/dropdown.spec.ts
+++ b/packages/components/dropdown/__tests__/dropdown.spec.ts
@@ -568,4 +568,50 @@ describe('Dropdown', () => {
.classes()
).toContain('is-disabled')
})
+
+ test('set show-timeout/hide-timeout when trigger is hover', async () => {
+ const wrapper = _mount(
+ `
+
+
+ Dropdown List
+
+
+
+ Item
+
+
+
+ `,
+ () => ({})
+ )
+ const tooltipElement = wrapper.getComponent({
+ name: 'ElTooltip',
+ })
+ expect(tooltipElement.vm.showAfter).toBe(200)
+ expect(tooltipElement.vm.hideAfter).toBe(300)
+ })
+
+ test('ignore show-timeout/hide-timeout when trigger is not hover', async () => {
+ const wrapper = _mount(
+ `
+
+
+ Dropdown List
+
+
+
+ Item
+
+
+
+ `,
+ () => ({})
+ )
+ const tooltipElement = wrapper.getComponent({
+ name: 'ElTooltip',
+ })
+ expect(tooltipElement.vm.showAfter).toBe(0)
+ expect(tooltipElement.vm.hideAfter).toBe(0)
+ })
})
diff --git a/packages/components/dropdown/src/dropdown.vue b/packages/components/dropdown/src/dropdown.vue
index d7ae586b89..e265fffdbd 100644
--- a/packages/components/dropdown/src/dropdown.vue
+++ b/packages/components/dropdown/src/dropdown.vue
@@ -6,13 +6,13 @@
:fallback-placements="['bottom', 'top']"
:popper-options="popperOptions"
:gpu-acceleration="false"
- :hide-after="hideTimeout"
+ :hide-after="trigger === 'hover' ? hideTimeout : 0"
:manual-mode="true"
:placement="placement"
:popper-class="[ns.e('popper'), popperClass]"
:reference-element="referenceElementRef?.$el"
:trigger="trigger"
- :show-after="showTimeout"
+ :show-after="trigger === 'hover' ? showTimeout : 0"
:stop-popper-mouse-event="false"
:virtual-ref="triggeringElementRef"
:virtual-triggering="splitButton"