Tabs
A tabs component for switching between different views or content sections. Supports multiple tab styles, positions, and sizes.
Live Example
Loading component...
Try It
Edit the code below to experiment with the component:
Live Editor
function Demo() { return ( <Tabs defaultActiveKey="1" items={[ { key: '1', label: 'Tab 1', children: 'Content of Tab Pane 1' }, { key: '2', label: 'Tab 2', children: 'Content of Tab Pane 2' }, { key: '3', label: 'Tab 3', children: 'Content of Tab Pane 3' }, ]} /> ); }
Result
Loading...
Card Style
Live Editor
function CardTabs() { return ( <Tabs type="card" defaultActiveKey="1" items={[ { key: '1', label: 'Dashboards', children: 'View and manage your dashboards.' }, { key: '2', label: 'Charts', children: 'Browse all saved charts.' }, { key: '3', label: 'Datasets', children: 'Explore available datasets.' }, ]} /> ); }
Result
Loading...
Tab Positions
Live Editor
function TabPositions() { const items = [ { key: '1', label: 'Tab 1', children: 'Content 1' }, { key: '2', label: 'Tab 2', children: 'Content 2' }, { key: '3', label: 'Tab 3', children: 'Content 3' }, ]; return ( <div style={{ display: 'flex', flexDirection: 'column', gap: 24 }}> {['top', 'bottom', 'left', 'right'].map(pos => ( <div key={pos}> <h4>{pos}</h4> <Tabs tabPosition={pos} defaultActiveKey="1" items={items} /> </div> ))} </div> ); }
Result
Loading...
With Icons
Live Editor
function IconTabs() { return ( <Tabs defaultActiveKey="1" items={[ { key: '1', label: <><Icons.DashboardOutlined /> Dashboards</>, children: 'Dashboard content here.' }, { key: '2', label: <><Icons.LineChartOutlined /> Charts</>, children: 'Chart content here.' }, { key: '3', label: <><Icons.DatabaseOutlined /> Datasets</>, children: 'Dataset content here.' }, { key: '4', label: <><Icons.ConsoleSqlOutlined /> SQL Lab</>, children: 'SQL Lab content here.' }, ]} /> ); }
Result
Loading...
Props
| Prop | Type | Default | Description |
|---|---|---|---|
defaultActiveKey | string | "1" | - |
type | string | "line" | The style of tabs. Options: line, card, editable-card. |
tabPosition | string | "top" | Position of tabs. Options: top, bottom, left, right. |
size | string | "middle" | Size of the tabs. |
animated | boolean | true | Whether to animate tab transitions. |
centered | boolean | false | Whether to center the tabs. |
tabBarGutter | number | 8 | The gap between tabs. |
items | any | [{"key":"1","label":"Tab 1","children":"Content of Tab Pane 1"},{"key":"2","label":"Tab 2","children":"Content of Tab Pane 2"},{"key":"3","label":"Tab 3","children":"Content of Tab Pane 3"}] | - |
Import
import Tabs from '@superset/components';
Improve this page
This documentation is auto-generated from the component's Storybook story. Help improve it by editing the story file.