mirror of
https://gitee.com/ant-design-vue/ant-design-vue.git
synced 2024-12-03 12:37:42 +08:00
fix: menu trigger twice click #2266
This commit is contained in:
parent
4cc762d6cb
commit
1e86019ceb
@ -112,7 +112,7 @@ const DOMWrap = {
|
||||
// with a title of overflow indicator ('...')
|
||||
const copy = this.$slots.default[0];
|
||||
const { title, ...rest } = getPropsData(copy); // eslint-disable-line no-unused-vars
|
||||
|
||||
const events = getEvents(copy);
|
||||
let style = {};
|
||||
let key = `${keyPrefix}-overflowed-indicator`;
|
||||
let eventKey = `${keyPrefix}-overflowed-indicator`;
|
||||
@ -133,11 +133,17 @@ const DOMWrap = {
|
||||
|
||||
const popupClassName = theme ? `${prefixCls}-${theme}` : '';
|
||||
const props = {};
|
||||
const on = {};
|
||||
menuAllProps.props.forEach(k => {
|
||||
if (rest[k] !== undefined) {
|
||||
props[k] = rest[k];
|
||||
}
|
||||
});
|
||||
menuAllProps.on.forEach(k => {
|
||||
if (events[k] !== undefined) {
|
||||
on[k] = events[k];
|
||||
}
|
||||
});
|
||||
const subMenuProps = {
|
||||
props: {
|
||||
title: overflowedIndicator,
|
||||
@ -149,7 +155,7 @@ const DOMWrap = {
|
||||
class: `${prefixCls}-overflowed-submenu`,
|
||||
key,
|
||||
style,
|
||||
on: getEvents(copy),
|
||||
on,
|
||||
};
|
||||
|
||||
return <SubMenu {...subMenuProps}>{overflowedItems}</SubMenu>;
|
||||
@ -263,7 +269,10 @@ const DOMWrap = {
|
||||
c,
|
||||
// children[index].key will become '.$key' in clone by default,
|
||||
// we have to overwrite with the correct key explicitly
|
||||
{ key: getPropsData(c).eventKey, props: { mode: 'vertical-left' } },
|
||||
{
|
||||
key: getPropsData(c).eventKey,
|
||||
props: { mode: 'vertical-left' },
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
|
@ -337,10 +337,8 @@ const SubPopupMenu = {
|
||||
},
|
||||
on: {
|
||||
click: e => {
|
||||
if ('keyPath' in e) {
|
||||
(childListeners.click || noop)(e);
|
||||
this.onClick(e);
|
||||
}
|
||||
(childListeners.click || noop)(e);
|
||||
this.onClick(e);
|
||||
},
|
||||
itemHover: this.onItemHover,
|
||||
openChange: this.onOpenChange,
|
||||
|
Loading…
Reference in New Issue
Block a user