UNPKG

@6thquake/react-material

Version:

React components that implement Google's Material Design.

71 lines (59 loc) 1.61 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose"; import * as React from 'react'; import { Item } from 'rc-menu'; import withStyles from '../styles/withStyles'; import PropTypes from 'prop-types'; import Tooltip from '../Tooltip'; const styles = theme => ({}); class NavItem extends React.Component { constructor(...args) { super(...args); this.onKeyDown = e => { this.menuItem.onKeyDown(e); }; this.saveMenuItem = menuItem => { this.menuItem = menuItem; }; } render() { const { inlineCollapsed } = this.context; const _this$props = this.props, props = _objectWithoutPropertiesLoose(_this$props, ["classes"]); const item = React.createElement(Item, _extends({}, props, { ref: this.saveMenuItem })); if (inlineCollapsed && props.level === 1) { return React.createElement(Tooltip, { title: props.children, placement: "right", className: `${props.rootPrefixCls}-inline-collapsed-tooltip` }, item); } return item; } } NavItem.contextTypes = { inlineCollapsed: PropTypes.bool }; NavItem.isMenuItem = true; NavItem.menuItem = void 0; process.env.NODE_ENV !== "production" ? NavItem.propTypes = { /** * 是否禁用 */ disabled: PropTypes.bool, /** * item 的唯一标志 */ key: PropTypes.string } : void 0; NavItem.defaultProps = { disabled: false }; NavItem.isMenuItem = true; export default withStyles(styles, { name: 'RMNavItem' })(NavItem);