diff --git a/components/menu/MenuItem.jsx b/components/menu/MenuItem.jsx index c1ad3c96a..881e40d7c 100644 --- a/components/menu/MenuItem.jsx +++ b/components/menu/MenuItem.jsx @@ -1,6 +1,7 @@ import { Item, itemProps } from '../vc-menu'; import { getOptionProps, getListeners } from '../_util/props-util'; import Tooltip from '../tooltip'; +import { injectExtraPropsKey } from '../vc-menu/FunctionProvider'; function noop() {} export default { name: 'MenuItem', @@ -9,6 +10,10 @@ export default { inject: { getInlineCollapsed: { default: () => noop }, layoutSiderContext: { default: () => ({}) }, + injectExtraProps: { + from: injectExtraPropsKey, + default: () => ({}), + }, }, isMenuItem: true, methods: { @@ -18,7 +23,7 @@ export default { }, render() { const props = getOptionProps(this); - const { level, title, rootPrefixCls } = props; + const { level, title, rootPrefixCls } = { ...props, ...this.injectExtraProps.$attrs }; const { getInlineCollapsed, $slots, $attrs: attrs } = this; const inlineCollapsed = getInlineCollapsed(); let tooltipTitle = title;