From e618d4d16ddc9d876f6438c9b77cdebac1e4070b Mon Sep 17 00:00:00 2001 From: ddcat1115 Date: Fri, 9 Mar 2018 16:41:45 +0800 Subject: [PATCH] PageHeader support tabDefaultActiveKey --- src/components/PageHeader/index.d.ts | 1 + src/components/PageHeader/index.js | 13 +++++-------- src/components/PageHeader/index.md | 1 + 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/components/PageHeader/index.d.ts b/src/components/PageHeader/index.d.ts index 62d1f880..a1c356e7 100644 --- a/src/components/PageHeader/index.d.ts +++ b/src/components/PageHeader/index.d.ts @@ -10,6 +10,7 @@ export interface IPageHeaderProps { breadcrumbList?: Array<{ title: React.ReactNode; href?: string }>; tabList?: Array<{ key: string; tab: React.ReactNode }>; tabActiveKey?: string; + tabDefaultActiveKey?: string; onTabChange?: (key: string) => void; tabBarExtraContent?: React.ReactNode; linkElement?: React.ReactNode; diff --git a/src/components/PageHeader/index.js b/src/components/PageHeader/index.js index 644b1e4f..e185f6a7 100644 --- a/src/components/PageHeader/index.js +++ b/src/components/PageHeader/index.js @@ -166,18 +166,15 @@ export default class PageHeader extends PureComponent { tabList, className, tabActiveKey, + tabDefaultActiveKey, tabBarExtraContent, } = this.props; const clsString = classNames(styles.pageHeader, className); - - let tabDefaultValue; - if (tabActiveKey === undefined && tabList) { - tabDefaultValue = tabList.filter(item => item.default)[0] || tabList[0]; - } const breadcrumb = this.conversionBreadcrumbList(); - const activeKeyProps = { - defaultActiveKey: tabDefaultValue && tabDefaultValue.key, - }; + const activeKeyProps = {}; + if (tabDefaultActiveKey !== undefined) { + activeKeyProps.defaultActiveKey = tabDefaultActiveKey; + } if (tabActiveKey !== undefined) { activeKeyProps.activeKey = tabActiveKey; } diff --git a/src/components/PageHeader/index.md b/src/components/PageHeader/index.md index 334d354c..288f8b6c 100644 --- a/src/components/PageHeader/index.md +++ b/src/components/PageHeader/index.md @@ -25,6 +25,7 @@ order: 11 | breadcrumbNameMap | 面包屑相关属性,路由的地址-名称映射表 | object | - | | tabList | tab 标题列表 | array<{key: string, tab: ReactNode}> | - | | tabActiveKey | 当前高亮的 tab 项 | string | - | +| tabDefaultActiveKey | 默认高亮的 tab 项 | string | 第一项 | | onTabChange | 切换面板的回调 | (key) => void | - | | linkElement | 定义链接的元素,默认为 `a`,可传入 react-router 的 Link | string\|ReactElement | - | -- GitLab