import cn from 'classnames'; import VerticalTab from '../tab/VerticalTab'; import BaseTabsNav from '../base/BaseTabsNav'; import { IVerticalInnerTab, IVerticalTabsNavProps } from '../../types'; import { commonTransformTabData } from '../../utils'; class VerticalTabsNav extends BaseTabsNav< Id, IVerticalInnerTab, IVerticalTabsNavProps > { protected typeName = 'vertical'; get tabsNavCls() { return cn('zent-tabs-nav', `zent-tabs-nav-type__${this.typeName}`); } transformTabDataList( tabDataList: Array> ): Array> { return tabDataList.map(tabItem => { if ('divide' in tabItem) { return tabItem; } return commonTransformTabData(tabItem, false); }); } renderTab(data: IVerticalInnerTab, index: number): React.ReactNode { if ('divide' in data) { return
; } return ( onSelected={this.onTabSelected} {...data} id={data.key}> {data.title} ); } render() { const { scrollHeight: maxHeight } = this.props; return (
{this.renderTabs()}
); } } export default VerticalTabsNav;