npm install rk-rc-menurk-rc-menu: https://github.com/RK-WJW/menu, 在rc-menu基础上做了些调整
- 去掉了依赖模块dom-scroll-into-view,使用了scrollIntoViewIfNeeded代替
react menu component. port from https://github.com/kissyteam/menu
[![NPM version][npm-image]][npm-url]
[![build status][travis-image]][travis-url]
[![Test coverage][coveralls-image]][coveralls-url]
[![gemnasium deps][gemnasium-image]][gemnasium-url]
[![node version][node-image]][node-url]
[![npm download][download-image]][download-url]
[npm-image]: http://img.shields.io/npm/v/rc-menu.svg?style=flat-square
[npm-url]: http://npmjs.org/package/rc-menu
[travis-image]: https://img.shields.io/travis/react-component/menu.svg?style=flat-square
[travis-url]: https://travis-ci.org/react-component/menu
[coveralls-image]: https://img.shields.io/coveralls/react-component/menu.svg?style=flat-square
[coveralls-url]: https://coveralls.io/r/react-component/menu?branch=master
[gemnasium-image]: http://img.shields.io/gemnasium/react-component/menu.svg?style=flat-square
[gemnasium-url]: https://gemnasium.com/react-component/menu
[node-image]: https://img.shields.io/badge/node.js-%3E=_0.10-green.svg?style=flat-square
[node-url]: http://nodejs.org/download/
[download-image]: https://img.shields.io/npm/dm/rc-menu.svg?style=flat-square
[download-url]: https://npmjs.org/package/rc-menu
!alt
``js`
import Menu, {SubMenu, MenuItem} from 'rc-menu';
ReactDOM.render(, container);

| name | type | default | description |
|---|---|---|---|
| className | String | additional css class of root dom node | |
| mode | String | vertical | one of ["vertical","horizontal","inline"] |
| activeKey | Object | initial and current active menu item's key. | |
| defaultActiveFirst | Boolean | false | whether active first menu item when show if activeKey is not set or invalid |
| multiple | Boolean | false | whether allow multiple select |
| selectedKeys | String[] | [] | selected keys of items |
| defaultSelectedKeys | String[] | [] | initial selected keys of items |
| openKeys | String[] | [] | open keys of SubMenuItem |
| defaultOpenKeys | String[] | [] | initial open keys of SubMenuItem |
| onSelect | function({key:String, item:ReactComponent, domEvent:Event, selectedKeys:String[]}) | called when select a menu item | |
| onClick | function({key:String, item:ReactComponent, domEvent:Event, keyPath: String[]}) | called when click a menu item | |
| onOpenChange | (openKeys:String[]) => void | called when open/close sub menu | |
| onDeselect | function({key:String, item:ReactComponent, domEvent:Event, selectedKeys:String[]}) | called when deselect a menu item. only called when allow multiple | |
| openSubMenuOnMouseEnter | bool | true | whether enable top items to open on mouse enter |
| closeSubMenuOnMouseLeave | bool | true | whether enable close submenu on mouse leave |
| openAnimation | {enter:function,leave:function}|String | animate when sub menu open or close. see rc-animate for object type. | |
| openTransition | String | css transitionName when sub menu open or close |
| name | type | default | description |
|---|---|---|---|
| className | String | additional css class of root dom node | |
| disabled | Boolean | false | no effect for click or keydown for this item |
| key | Object | corresponding to activeKey | |
| onMouseEnter | Function({eventKey, domEvent}) | ||
| onMouseLeave | Function({eventKey, domEvent}) |
| name | type | default | description |
|---|---|---|---|
| className | String | additional css class of root dom node | |
| title | String/ReactElement | sub menu's content | |
| key | Object | corresponding to activeKey | |
| disabled | Boolean | false | no effect for click or keydown for this item |
| onMouseEnter | Function({eventKey, domEvent}) | ||
| onMouseLeave | Function({eventKey, domEvent}) | ||
| onTitleMouseEnter | Function({eventKey, domEvent}) | ||
| onTitleMouseLeave | Function({eventKey, domEvent}) | ||
| onTitleClick | Function({eventKey, domEvent}) |
none
| name | type | default | description |
|---|---|---|---|
| title | String|React.Element | title of item group | |
| children | React.Element[] | MenuItems belonged to this group |
``
npm install
npm start
http://localhost:8001/examples/index.md
online example: http://react-component.github.io/menu/examples/
``
npm test
npm run chrome-test
```
npm run coverage
open coverage/ dir
rc-menu is released under the MIT license.