@6thquake/react-material
Version:
React components that implement Google's Material Design.
73 lines (61 loc) • 1.68 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
import * as React from 'react';
import PropTypes from 'prop-types';
import { SubMenu as RcSubMenu } from 'rc-menu';
import classNames from 'classnames';
import withStyles from '../styles/withStyles';
const styles = theme => ({});
class SubMenuBar extends React.Component {
constructor(...args) {
super(...args);
this.onKeyDown = e => {
this.subMenu.onKeyDown(e);
};
this.saveSubMenu = subMenu => {
this.subMenu = subMenu;
};
}
render() {
const {
rootPrefixCls,
className
} = this.props;
const _this$props = this.props,
props = _objectWithoutPropertiesLoose(_this$props, ["classes"]);
const theme = this.context.rMMenuTheme;
return React.createElement(RcSubMenu, _extends({}, props, {
ref: this.saveSubMenu,
popupClassName: classNames(`${rootPrefixCls}-${theme}`, className)
}));
}
}
SubMenuBar.contextTypes = {
rMMenuTheme: PropTypes.string
};
SubMenuBar.subMenu = void 0;
process.env.NODE_ENV !== "production" ? SubMenuBar.propTypes = {
/**
* 是否禁用
*/
disabled: PropTypes.bool,
/**
* 唯一标志
*/
key: PropTypes.string,
/**
* 子菜单项值
*/
onTitleClick: PropTypes.func,
/**
* 点击子菜单标题,参数 ({ key, domEvent })
*/
title: PropTypes.oneOfType([PropTypes.string, PropTypes.element])
} : void 0;
SubMenuBar.defaultProps = {
disabled: false
};
SubMenuBar.isSubMenu = true;
export default withStyles(styles, {
name: 'RMSubMenuBar'
})(SubMenuBar);