@6thquake/react-material
Version:
React components that implement Google's Material Design.
71 lines (59 loc) • 1.61 kB
JavaScript
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);