<flux:tab.group> <flux:tabs wire:model="tab"> <flux:tab name="profile">个人资料</flux:tab> <flux:tab name="account">账户</flux:tab> <flux:tab name="billing">账单</flux:tab> </flux:tabs> <flux:tab.panel name="profile">...</flux:tab.panel> <flux:tab.panel name="account">...</flux:tab.panel> <flux:tab.panel name="billing">...</flux:tab.panel></flux:tab.group>
将标签标签与图标关联,以视觉上区分不同的部分。
<flux:tab.group> <flux:tabs> <flux:tab name="profile" icon="user">个人资料</flux:tab> <flux:tab name="account" icon="cog-6-tooth">账户</flux:tab> <flux:tab name="billing" icon="banknotes">账单</flux:tab> </flux:tabs> <flux:tab.panel name="profile">...</flux:tab.panel> <flux:tab.panel name="account">...</flux:tab.panel> <flux:tab.panel name="billing">...</flux:tab.panel></flux:tab.group>
默认情况下,标签页在边缘周围没有水平填充。如果你想要添加填充,可以通过向 tabs 和/或 tab.panel 组件添加 Tailwind 实用程序来实现。
<flux:tabs class="px-4"> <flux:tab name="profile">个人资料</flux:tab> <flux:tab name="account">账户</flux:tab> <flux:tab name="billing">账单</flux:tab></flux:tabs>
如果你的标签页超出了视窗范围,尤其是在移动设备上,你应该将它们设置为 可滚动 以防止水平溢出。
<flux:tab.group> <flux:tabs scrollable> <flux:tab name="profile">个人资料</flux:tab> <flux:tab name="account">账户</flux:tab> <flux:tab name="billing">账单</flux:tab> <flux:tab name="security">安全</flux:tab> <flux:tab name="notifications">通知</flux:tab> <flux:tab name="integrations">集成</flux:tab> <flux:tab name="api">API</flux:tab> </flux:tabs> <flux:tab.panel name="profile">...</flux:tab.panel> <flux:tab.panel name="account">...</flux:tab.panel> <flux:tab.panel name="billing">...</flux:tab.panel> <flux:tab.panel name="security">...</flux:tab.panel> <flux:tab.panel name="notifications">...</flux:tab.panel> <flux:tab.panel name="integrations">...</flux:tab.panel> <flux:tab.panel name="api">...</flux:tab.panel></flux:tab.group>
使用 scrollable:fade 为右侧边缘添加渐隐效果。这个视觉提示表示在可见区域之外还有更多标签页可用。
<flux:tab.group> <flux:tabs scrollable scrollable:fade> <flux:tab name="profile">个人资料</flux:tab> <flux:tab name="account">账户</flux:tab> <flux:tab name="billing">账单</flux:tab> <flux:tab name="security">安全</flux:tab> <flux:tab name="notifications">通知</flux:tab> <flux:tab name="integrations">集成</flux:tab> <flux:tab name="api">API</flux:tab> </flux:tabs> <flux:tab.panel name="profile">...</flux:tab.panel> <flux:tab.panel name="account">...</flux:tab.panel> <flux:tab.panel name="billing">...</flux:tab.panel> <flux:tab.panel name="security">...</flux:tab.panel> <flux:tab.panel name="notifications">...</flux:tab.panel> <flux:tab.panel name="integrations">...</flux:tab.panel> <flux:tab.panel name="api">...</flux:tab.panel></flux:tab.group>
通过视觉上分隔、类似按钮的标签页来在内容之间切换。适用于在宽度受限的容器内在视图之间切换。
<flux:tabs variant="segmented"> <flux:tab>列表</flux:tab> <flux:tab>面板</flux:tab> <flux:tab>时间线</flux:tab></flux:tabs>
将分段式标签页与图标前缀结合。
<flux:tabs variant="segmented"> <flux:tab icon="list-bullet">列表</flux:tab> <flux:tab icon="squares-2x2">面板</flux:tab> <flux:tab icon="calendar-days">时间线</flux:tab></flux:tabs>
对于更紧凑的布局,你可以使用 size="sm" 属性来使标签页更小。
<flux:tabs variant="segmented" size="sm"> <flux:tab>示例</flux:tab> <flux:tab>代码</flux:tab></flux:tabs>
通过视觉上分隔、类似药丸的标签页来在内容之间切换。
<flux:tabs variant="pills"> <flux:tab>列表</flux:tab> <flux:tab>面板</flux:tab> <flux:tab>时间线</flux:tab></flux:tabs>
如果需要,你可以在你的 Livewire 组件中动态生成额外的标签页和面板。只需确保为新的标签页和面板使用匹配的名称。
<flux:tab.group> <flux:tabs> @foreach($tabs as $id => $tab) <flux:tab :name="$id">{{ $tab }}</flux:tab> @endforeach <flux:tab icon="plus" wire:click="addTab" action>添加标签页</flux:tab> </flux:tabs> @foreach($tabs as $id => $tab) <flux:tab.panel :name="$id"> <!-- ... --> </flux:tab.panel> @endforeach</flux:tab.group><!-- Livewire component example code... public array $tabs = [ 'tab-1' => 'Tab #1', 'tab-2' => 'Tab #2', ]; public function addTab(): void { $id = 'tab-' . str()->random(); $this->tabs[$id] = 'Tab #' . count($this->tabs) + 1; }-->
|
属性
|
描述
|
|---|---|
| wire:model |
将活动标签页绑定到 Livewire 属性。请参阅 wire:model 文档
|
| variant |
标签页的视觉样式。选项:default、segmented、pills。
|
| size |
标签页的尺寸。选项:base(默认)、sm。
|
| scrollable |
启用水平滚动。
|
| scrollable:scrollbar |
当标签页可滚动时控制滚动条的可见性。选项:hide。
|
| scrollable:fade |
当标签页可滚动时为右侧边缘添加渐隐效果。
|
|
插槽
|
描述
|
|---|---|
| default |
单个标签页组件。
|
|
属性
|
描述
|
|---|---|
| data-flux-tabs |
应用到根元素以进行样式和标识。
|
|
属性
|
描述
|
|---|---|
| name |
标签页的唯一标识符,用于与其面板匹配。
|
| icon |
在标签页开头显示的图标名称。
|
| icon:trailing |
在标签页末尾显示的图标名称。
|
| icon:variant |
图标的变体。选项:outline、solid、mini、micro。
|
| action |
将标签页转换为操作按钮(用于“添加标签页”功能)。
|
| accent |
如果为 true,则对标签页应用强调色样式。
|
| size |
标签页的尺寸(仅在 variant="segmented" 时适用)。选项:base(默认)、sm。
|
| disabled |
禁用标签页。
|
|
插槽
|
描述
|
|---|---|
| default |
标签页标签内容.
|
|
属性
|
描述
|
|---|---|
| data-flux-tab |
应用到标签页元素以进行样式和标识。
|
| data-selected |
当标签页被选中/激活时应用。
|
|
属性
|
描述
|
|---|---|
| name |
与关联标签页匹配的唯一标识符。
|
|
插槽
|
描述
|
|---|---|
| default |
当关联的标签页被选中时显示的面板内容.
|
|
属性
|
描述
|
|---|---|
| data-flux-tab-panel |
应用到面板元素以进行样式和标识。
|