UNPKG

zarm-mobile

Version:
49 lines (40 loc) 977 B
import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; class TabContainer extends PureComponent { constructor(props) { super(props); this.state = { selected: props.selected || props.defaultSelected, }; } componentWillReceiveProps(nextProps) { if ('selected' in nextProps) { this.setState({ selected: !!nextProps.selected, }); } } render() { const { prefixCls, className, children } = this.props; const cls = classnames({ [`${prefixCls}`]: true, [className]: !!className, active: !!this.state.selected, }); return ( <div className={cls} role="tabpanel"> {children} </div> ); } } TabContainer.propTypes = { prefixCls: PropTypes.string, className: PropTypes.string, }; TabContainer.defaultProps = { prefixCls: 'za-tab-container-item', className: null, }; export default TabContainer;