apps/public-docsite-v9/src/Concepts/Migration/FromV8/Components/Tabs.mdx
import { Meta } from '@storybook/addon-docs/blocks';
<Meta title="Concepts/Migration/from v8/Components/Tabs (Pivot) Migration" />In v8, you declare a Pivot with a list of PivotItem components as children.
headerText property.PivotItem.For example,
<Pivot>
<PivotItem headerText="First Tab">
<Label>Content 1</Label>
</PivotItem>
<PivotItem headerText="Second Tab">
<Label>Content 2</Label>
</PivotItem>
<PivotItem headerText="Third Tab">
<Label>Content 3</Label>
</PivotItem>
</Pivot>
In v9, there is a similar approach of a TabList containing Tab components.
The key difference is the Tab children are rendered as the label of the tab.
Tab and TabList.To migrate from Pivot to TabList
Pivot with TabList and PivotItem with TabPivotItem content under a sibling element of TabListheaderText into the Tab's children.onTabSelect event handler to set the selected tab value as stateFor example, here is the previous Pivot example migrated to use TabList
const [selectedValue, setSelectedValue] = React.useState<TabValue>();
const onTabSelect = (event: SelectTabEvent, data: SelectTabData) => {
setSelectedValue(data.value);
};
//...
<TabList selectedValue={selectedValue} onTabSelect={onTabSelect}>
<Tab value="tab1">First Tab</Tab>
<Tab value="tab2">Second Tab</Tab>
<Tab value="tab3">Third Tab</Tab>
</TabList>
<div>
{selectedValue === 'tab1' && <div>Content 1</div>}
{selectedValue === 'tab2' && <div>Content 2</div>}
{selectedValue === 'tab3' && <div>Content 3</div>}
</div>
| v8 | v9 |
|---|---|
| appearance | |
| componentRef | ref |
| className | className |
| defaultSelectedKey | defaultSelectedValue |
| focusZoneProps | (removed) |
| getTabId | (removed) |
| headersOnly | (removed) |
| linkFormat | (removed) |
| linkSize | size |
| onLinkClick | onTabSelect |
| overflowAriaLabel | (removed) |
| overflowBehavior | (removed) |
| selectedKey | selectedValue |
| styles | (use makeStyles and className) |
| theme | (use FluentProvider) |
| vertical |
| v8 | v9 |
|---|---|
| componentRef | ref |
| linkText | (removed) |
| headerText | (use children) |
| headerButtonProps | (removed) |
| itemKey | value |
| ariaLabel | aria-label |
| itemCount | (removed) |
| itemIcon | icon (slot) |
| onRenderItemLink | (removed) |
| keytipProps | (removed) |
| alwaysRender | (removed) |