Skip to content

按钮布局 (Button Layouts)

在实际业务场景中,我们经常需要将多个操作按钮组合在一起。

Tabler 提供了三种不同语义的按钮容器,用来控制按钮之间的间距、对齐方式以及连体组合效果。

按钮列表 (Button List)

TButtonList 是最常用的多按钮容器,它会在按钮之间保持均匀的间距。

如果你添加了额外的主题色,可以很容易地将用户的注意力集中在主要操作上。

vue

<TButtonList>
  <TButton color="success">Save changes</TButton>
  <TButton>Save and continue</TButton>
  <TButton color="danger">Cancel</TButton>
</TButtonList>

当容器宽度不足时(例如在移动端设备上),TButtonList 内部的按钮会自动换行到下一行,并始终保持一致的间距,无需手动编写媒体查询。

查看代码
vue
<TButtonList>
    <TButton>One</TButton>
  <TButton>Two</TButton>
  <TButton>Three</TButton>
  <TButton>Four</TButton>
  <TButton>Five</TButton>
  <TButton>Six</TButton>
  <TButton>Seven</TButton>
  <TButton>Eight</TButton>
  <TButton>Nine</TButton>
  <TButton>Ten</TButton>
  <TButton>Eleven</TButton>
  <TButton>Twelve</TButton>
  <TButton>Thirteen</TButton>
  <TButton>Fourteen</TButton>
  <TButton>Fifteen</TButton>
  <TButton>Sixteen</TButton>
  <TButton>Seventeen</TButton>
  <TButton>Eighteen</TButton>
  <TButton>Nineteen</TButton>
</TButtonList>

使用 justify 属性来调整按钮的对齐方式,将它们放置在最合适的位置。

vue

<TButtonList justify="center">
  <TButton>Save and continue</TButton>
  <TButton color="primary">Save changes</TButton>
</TButtonList>
vue

<TButtonList justify="end">
  <TButton>Save and continue</TButton>
  <TButton color="primary">Save changes</TButton>
</TButtonList>

如果需要在同一行内将某个按钮(如“删除”)推至最左侧,而将主要操作按钮放置在最右侧,可以结合 Bootstrap 原生的 me-auto 工具类来实现。

vue

<TButtonList justify="end">
  <TButton color="danger" outline class="me-auto">Delete</TButton>
  <TButton>Save and continue</TButton>
  <TButton color="primary">Save changes</TButton>
</TButtonList>

按钮组 (Button Group)

TButtonGroup 用于将相关联的按钮紧密缝合在一起,形成一个视觉整体。

非常适合用来制作工具栏、分段控制器(Segmented Control)或多视图切换器。

vue

<TButtonGroup>
  <TButton>Left</TButton>
  <TButton>Middle</TButton>
  <TButton>Right</TButton>
</TButtonGroup>

你也可以使用 vertical 属性,将按钮调整为竖状排列。

vue

<TButtonGroup vertical>
  <TButton>Top</TButton>
  <TButton>Middle</TButton>
  <TButton>Bottom</TButton>
</TButtonGroup>

操作按钮组 (Button Actions)

TButtonActions 是专门为带有 action 属性的紧凑型图标按钮设计的容器。

它通常位于卡片(Card)的右上角标题栏,或者数据表格的操作列中。

vue

<TButtonActions>
  <TButton action>
    <IconRefresh class="icon icon-1"></IconRefresh>
  </TButton>
  <TButton action>
    <IconChevronUp class="icon icon-1"></IconChevronUp>
  </TButton>
  <TButton action>
    <IconDotsVertical class="icon icon-1"></IconDotsVertical>
  </TButton>
  <TButton action>
    <IconX class="icon icon-1"></IconX>
  </TButton>
</TButtonActions>

API

TButtonList 属性 (Props)

属性名说明类型默认值
justify内部按钮的水平对齐方式。对应 Flexbox 的 justify-content'start' | 'center' | 'end' | 'around' | 'between' | 'evenly''start'

TButtonGroup 属性 (Props)

属性名说明类型默认值
vertical是否将按钮组由水平方向改为垂直纵向排列。booleanfalse

容器插槽 (Slots)

以上三种容器组件(TButtonList, TButtonGroup, TButtonActions)均支持且仅支持 default 插槽,用于放置 TButton 或其他 HTML 元素。