# Button 按钮 > 标记一个操作命令,响应用户点击行为,触发相应业务逻辑。 ## 导入 ```tsx import { Button, IconButton, Segmented } from "@fangxinyan/lumina"; ``` ## 示例 ### 基础按钮 四种风格:主要、默认、幽灵、危险。 ```tsx ``` ### 图标按钮 icon 在前,trailingIcon 在后。 ```tsx ``` ### 加载与禁用 loading 期间禁用并显示 spinner。 ```tsx ``` ### 尺寸 提供 sm / md / lg 三种高度。 ```tsx ``` ### 块级按钮 block 让按钮撑满容器宽度,常用于底部主操作或表单提交。 ```tsx ``` ### 纯图标按钮 IconButton 是只含图标的方形按钮,常配合 tip 使用。 ```tsx ``` ### 分段控制器 互斥多选项切换。 ```tsx ``` ## API **Button** | Prop | 类型 | 默认 | 说明 | | --- | --- | --- | --- | | variant | `"default" | "primary" | "ghost" | "danger"` | `"default"` | 按钮风格 | | size | `"sm" | "md" | "lg"` | `"md"` | 按钮尺寸 | | icon | `IconName` | — | 前置图标 | | trailingIcon | `IconName` | — | 后置图标 | | loading | `boolean` | `false` | 加载态 | | block | `boolean` | `false` | 撑满父容器宽度 | | disabled | `boolean` | `false` | 禁用 | | onClick | `(e: MouseEvent) => void` | — | 点击回调 | **IconButton** | Prop | 类型 | 默认 | 说明 | | --- | --- | --- | --- | | icon \* | `IconName` | — | 图标名 | | tip | `string` | — | 悬浮提示 | | size / variant | `—` | — | 继承自 Button | **Segmented** | Prop | 类型 | 默认 | 说明 | | --- | --- | --- | --- | | options \* | `{ value, label, disabled? }[]` | — | 选项数组 | | value / defaultValue | `T` | — | 受控/初始选中值 | | onChange | `(value: T) => void` | — | 切换回调 | --- [← 回到索引](../llms.md)