diff --git a/src/Menu.tsx b/src/Menu.tsx index a2eb9270..887d5cee 100644 --- a/src/Menu.tsx +++ b/src/Menu.tsx @@ -120,6 +120,9 @@ export interface MenuProps _internalRenderMenuItem?: ( originNode: React.ReactElement, menuItemProps: any, + stateProps: { + selected: boolean; + }, ) => React.ReactElement; /*** * @private Only used for `pro-layout`. Do not use in your prod directly @@ -128,6 +131,9 @@ export interface MenuProps _internalRenderSubMenuItem?: ( originNode: React.ReactElement, subMenuItemProps: any, + stateProps: { + selected: boolean; + }, ) => React.ReactElement; } diff --git a/src/MenuItem.tsx b/src/MenuItem.tsx index 2e142924..5e7a724b 100644 --- a/src/MenuItem.tsx +++ b/src/MenuItem.tsx @@ -244,7 +244,7 @@ const InternalMenuItem = (props: MenuItemProps) => { ); if (_internalRenderMenuItem) { - renderNode = _internalRenderMenuItem(renderNode, props); + renderNode = _internalRenderMenuItem(renderNode, props, { selected }); } return renderNode; diff --git a/src/SubMenu/index.tsx b/src/SubMenu/index.tsx index f5124526..9549b2ba 100644 --- a/src/SubMenu/index.tsx +++ b/src/SubMenu/index.tsx @@ -355,7 +355,9 @@ const InternalSubMenu = (props: SubMenuProps) => { ); if (_internalRenderSubMenuItem) { - listNode = _internalRenderSubMenuItem(listNode, props); + listNode = _internalRenderSubMenuItem(listNode, props, { + selected: childrenSelected, + }); } // >>>>> Render