From 46dfd1588edc8e3877701d936d91e06bf662742f Mon Sep 17 00:00:00 2001 From: iwusong Date: Mon, 21 Feb 2022 10:14:05 +0800 Subject: [PATCH] fix(components): [el-dropdown-item] (#6147) the method of click event is executed twice in some cases (#5838) --- packages/components/dropdown/src/dropdown-item-impl.vue | 6 +++--- packages/components/dropdown/src/dropdown-item.vue | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/components/dropdown/src/dropdown-item-impl.vue b/packages/components/dropdown/src/dropdown-item-impl.vue index cde840e045..e3969bc489 100644 --- a/packages/components/dropdown/src/dropdown-item-impl.vue +++ b/packages/components/dropdown/src/dropdown-item-impl.vue @@ -11,7 +11,7 @@ :class="[ns.be('menu', 'item'), ns.is('disabled', disabled)]" :tabindex="tabIndex" role="menuitem" - @click="(e) => $emit('click', e)" + @click="(e) => $emit('clickimpl', e)" @focus="handleFocus" @keydown="handleKeydown" @mousedown="handleMousedown" @@ -45,7 +45,7 @@ export default defineComponent({ ElIcon, }, props: dropdownItemProps, - emits: ['pointermove', 'pointerleave', 'click'], + emits: ['pointermove', 'pointerleave', 'click', 'clickimpl'], setup(_, { emit }) { const ns = useNamespace('dropdown') @@ -78,7 +78,7 @@ export default defineComponent({ if (code === EVENT_CODE.enter || code === EVENT_CODE.space) { e.preventDefault() e.stopImmediatePropagation() - emit('click', e) + emit('clickimpl', e) return true } }, handleItemKeydown) diff --git a/packages/components/dropdown/src/dropdown-item.vue b/packages/components/dropdown/src/dropdown-item.vue index f7cf32ab85..5188124d25 100644 --- a/packages/components/dropdown/src/dropdown-item.vue +++ b/packages/components/dropdown/src/dropdown-item.vue @@ -8,7 +8,7 @@ v-bind="propsAndAttrs" @pointerleave="handlePointerLeave" @pointermove="handlePointerMove" - @click="handleClick" + @clickimpl="handleClick" >