Tabs 标签页组件 #
基本用法 #
jsx
import { Tabs, TabList, TabPanels, Tab, TabPanel } from '@chakra-ui/react'
function Example() {
return (
<Tabs>
<TabList>
<Tab>标签一</Tab>
<Tab>标签二</Tab>
<Tab>标签三</Tab>
</TabList>
<TabPanels>
<TabPanel>
<p>标签一内容</p>
</TabPanel>
<TabPanel>
<p>标签二内容</p>
</TabPanel>
<TabPanel>
<p>标签三内容</p>
</TabPanel>
</TabPanels>
</Tabs>
)
}
标签页变体 #
jsx
<Tabs variant="line">线条变体</Tabs>
<Tabs variant="enclosed">封闭变体</Tabs>
<Tabs variant="enclosed-colored">彩色封闭变体</Tabs>
<Tabs variant="soft-rounded">圆角柔和变体</Tabs>
<Tabs variant="solid-rounded">圆角实心变体</Tabs>
<Tabs variant="unstyled">无样式变体</Tabs>
标签页颜色 #
jsx
<Tabs colorScheme="green">
{/* 内容 */}
</Tabs>
<Tabs colorScheme="red">
{/* 内容 */}
</Tabs>
标签页位置 #
jsx
<Tabs orientation="vertical">
{/* 垂直标签页 */}
</Tabs>
<Tabs isFitted>
{/* 自适应宽度 */}
</Tabs>
受控标签页 #
jsx
function ControlledTabs() {
const [tabIndex, setTabIndex] = useState(0)
return (
<Tabs index={tabIndex} onChange={setTabIndex}>
<TabList>
<Tab>标签一</Tab>
<Tab>标签二</Tab>
</TabList>
<TabPanels>
<TabPanel>内容一</TabPanel>
<TabPanel>内容二</TabPanel>
</TabPanels>
</Tabs>
)
}
实用示例 #
设置页面 #
jsx
function SettingsTabs() {
return (
<Tabs variant="enclosed" colorScheme="blue">
<TabList>
<Tab>个人信息</Tab>
<Tab>安全设置</Tab>
<Tab>通知设置</Tab>
<Tab>隐私设置</Tab>
</TabList>
<TabPanels>
<TabPanel>
<VStack spacing={4}>
<FormControl>
<FormLabel>用户名</FormLabel>
<Input />
</FormControl>
<FormControl>
<FormLabel>邮箱</FormLabel>
<Input type="email" />
</FormControl>
</VStack>
</TabPanel>
<TabPanel>
<VStack spacing={4}>
<FormControl>
<FormLabel>当前密码</FormLabel>
<Input type="password" />
</FormControl>
<FormControl>
<FormLabel>新密码</FormLabel>
<Input type="password" />
</FormControl>
</VStack>
</TabPanel>
<TabPanel>通知设置内容</TabPanel>
<TabPanel>隐私设置内容</TabPanel>
</TabPanels>
</Tabs>
)
}
Tabs 属性速查表 #
| 属性 | 说明 | 值 |
|---|---|---|
| variant | 变体 | line, enclosed, soft-rounded… |
| colorScheme | 颜色方案 | blue, green, red… |
| orientation | 方向 | horizontal, vertical |
| isFitted | 自适应宽度 | boolean |
| index | 当前索引 | number |
下一步 #
现在你已经掌握了 Tabs 组件,接下来学习 Breadcrumb 面包屑,了解如何使用面包屑导航!
最后更新:2026-03-28