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;