mirror of
https://gitee.com/ant-design-vue/ant-design-vue.git
synced 2024-12-04 04:58:16 +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 ('...')
|
// with a title of overflow indicator ('...')
|
||||||
const copy = this.$slots.default[0];
|
const copy = this.$slots.default[0];
|
||||||
const { title, ...rest } = getPropsData(copy); // eslint-disable-line no-unused-vars
|
const { title, ...rest } = getPropsData(copy); // eslint-disable-line no-unused-vars
|
||||||
|
const events = getEvents(copy);
|
||||||
let style = {};
|
let style = {};
|
||||||
let key = `${keyPrefix}-overflowed-indicator`;
|
let key = `${keyPrefix}-overflowed-indicator`;
|
||||||
let eventKey = `${keyPrefix}-overflowed-indicator`;
|
let eventKey = `${keyPrefix}-overflowed-indicator`;
|
||||||
@ -133,11 +133,17 @@ const DOMWrap = {
|
|||||||
|
|
||||||
const popupClassName = theme ? `${prefixCls}-${theme}` : '';
|
const popupClassName = theme ? `${prefixCls}-${theme}` : '';
|
||||||
const props = {};
|
const props = {};
|
||||||
|
const on = {};
|
||||||
menuAllProps.props.forEach(k => {
|
menuAllProps.props.forEach(k => {
|
||||||
if (rest[k] !== undefined) {
|
if (rest[k] !== undefined) {
|
||||||
props[k] = rest[k];
|
props[k] = rest[k];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
menuAllProps.on.forEach(k => {
|
||||||
|
if (events[k] !== undefined) {
|
||||||
|
on[k] = events[k];
|
||||||
|
}
|
||||||
|
});
|
||||||
const subMenuProps = {
|
const subMenuProps = {
|
||||||
props: {
|
props: {
|
||||||
title: overflowedIndicator,
|
title: overflowedIndicator,
|
||||||
@ -149,7 +155,7 @@ const DOMWrap = {
|
|||||||
class: `${prefixCls}-overflowed-submenu`,
|
class: `${prefixCls}-overflowed-submenu`,
|
||||||
key,
|
key,
|
||||||
style,
|
style,
|
||||||
on: getEvents(copy),
|
on,
|
||||||
};
|
};
|
||||||
|
|
||||||
return <SubMenu {...subMenuProps}>{overflowedItems}</SubMenu>;
|
return <SubMenu {...subMenuProps}>{overflowedItems}</SubMenu>;
|
||||||
@ -263,7 +269,10 @@ const DOMWrap = {
|
|||||||
c,
|
c,
|
||||||
// children[index].key will become '.$key' in clone by default,
|
// children[index].key will become '.$key' in clone by default,
|
||||||
// we have to overwrite with the correct key explicitly
|
// 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: {
|
on: {
|
||||||
click: e => {
|
click: e => {
|
||||||
if ('keyPath' in e) {
|
(childListeners.click || noop)(e);
|
||||||
(childListeners.click || noop)(e);
|
this.onClick(e);
|
||||||
this.onClick(e);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
itemHover: this.onItemHover,
|
itemHover: this.onItemHover,
|
||||||
openChange: this.onOpenChange,
|
openChange: this.onOpenChange,
|
||||||
|
Loading…
Reference in New Issue
Block a user