ant-design/components/tabs/demo/custom-tab-bar.md

61 lines
1.1 KiB
Markdown
Raw Normal View History

---
order: 12
title:
zh-CN: 自定义页签头
en-US: Customized bar of tab
---
## zh-CN
使用 react-sticky 组件实现吸顶效果。
## en-US
Use react-sticky.
```tsx
import type { TabsProps } from 'antd';
import { Tabs } from 'antd';
2022-05-23 14:37:16 +08:00
import React from 'react';
import { Sticky, StickyContainer } from 'react-sticky';
const renderTabBar: TabsProps['renderTabBar'] = (props, DefaultTabBar) => (
<Sticky bottomOffset={80}>
{({ style }) => (
2019-12-24 20:58:42 +08:00
<DefaultTabBar {...props} className="site-custom-tab-bar" style={{ ...style }} />
)}
</Sticky>
);
const items = new Array(3).fill(null).map((_, i) => {
const id = String(i + 1);
return {
label: `Tab ${id}`,
key: id,
children: `Content of Tab Pane ${id}`,
style: i === 0 ? { height: 200 } : undefined,
};
});
const App: React.FC = () => (
<StickyContainer>
<Tabs defaultActiveKey="1" renderTabBar={renderTabBar} items={items} />
</StickyContainer>
2018-11-28 15:00:03 +08:00
);
export default App;
2019-05-07 14:57:32 +08:00
```
2019-12-24 20:58:42 +08:00
```css
.site-custom-tab-bar {
z-index: 1;
background: #fff;
}
```
<style>
[data-theme="dark"] .site-custom-tab-bar {
background: #141414;
}
</style>