组件
按钮组 Button Group
ButtonGroup:按钮组,把多个按钮合并为一个控件。组只负责接缝,成员保留自己的 variant;solid 按钮可以和 outline 按钮并列,接缝仍然清晰。选择属于 toggle group,这里只处理布局。
#基础用法
<script setup lang="ts">
import { Button, ButtonGroup } from "@bysages/vue";
</script>
<template>
<div class="flex gap-6 items-center flex-wrap">
<ButtonGroup size="sm">
<Button>Left</Button>
<Button>Center</Button>
<Button>Right</Button>
</ButtonGroup>
<ButtonGroup>
<Button>Left</Button>
<Button>Center</Button>
<Button>Right</Button>
</ButtonGroup>
<ButtonGroup size="lg">
<Button>Left</Button>
<Button>Center</Button>
<Button>Right</Button>
</ButtonGroup>
</div>
</template>
<script setup lang="ts">
import { Button, ButtonGroup } from "@bysages/vue";
</script>
<template>
<ButtonGroup orientation="vertical" class="max-w-48">
<Button variant="outline">Align left</Button>
<Button variant="outline">Align center</Button>
<Button variant="outline">Align right</Button>
</ButtonGroup>
</template>
<script setup lang="ts">
import { chevron_down, chevron_up } from "@bysages/icons";
import { Button, ButtonGroup, Icon } from "@bysages/vue";
</script>
<template>
<ButtonGroup>
<Button variant="outline">Layers</Button>
<Button variant="outline" square aria-label="Move up">
<Icon :glyph="chevron_up" />
</Button>
<Button variant="outline" square aria-label="Move down">
<Icon :glyph="chevron_down" />
</Button>
</ButtonGroup>
</template>
#属性
#ButtonGroup
| 属性 | 类型 | 默认值 | 描述 |
|---|---|---|---|
orientation | String as PropType<"horizontal" | "vertical"> | "horizontal" | 按钮组方向,可为 horizontal 或 vertical;默认 horizontal |
size | String as PropType<"sm" | "md" | "lg"> | undefined | 按钮组统一的尺寸档位;写入 data-size,供样式表调整按钮高度 |
radius | String as PropType<"sm" | "md" | "lg" | "xl" | "2xl" | "full"> | undefined | 按钮组统一的圆角档位;调整 --bs-radius-control,让边缘和裁切接缝保持一致 |