diff --git a/README.md b/README.md index 13de7032..dbe3ef40 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,12 @@ ReactDOM.render( false whether allow multiple select + + remainOnSelect + Boolean + false + whether to allow the menu to remain showing after an item is selected + selectable Boolean diff --git a/docs/examples/multiple.tsx b/docs/examples/multiple.tsx index 9b9f5057..76e30160 100644 --- a/docs/examples/multiple.tsx +++ b/docs/examples/multiple.tsx @@ -27,6 +27,7 @@ function Demo() { onSelect={handleSelect} onDeselect={handleDeselect} defaultSelectedKeys={['2', '1-1']} + remainOnSelect > 0-1 diff --git a/src/Menu.tsx b/src/Menu.tsx index 5048476a..e4c83295 100644 --- a/src/Menu.tsx +++ b/src/Menu.tsx @@ -61,6 +61,9 @@ export interface MenuProps inlineCollapsed?: boolean; + /** allow the menu to remain active after an item is selected. */ + remainOnSelect?: boolean; + /** SiderContextProps of layout in ant design */ siderCollapsed?: boolean; collapsedWidth?: string | number; @@ -242,7 +245,7 @@ class Menu extends React.Component { props: { onOpenChange }, } = this; - if (mode !== 'inline' && !('openKeys' in this.props)) { + if (mode !== 'inline' && !('openKeys' in this.props) && !(this.props.remainOnSelect)) { // closing vertical popup submenu after click it store.setState({ openKeys: [],