Button
适用场景
- 提交表单、确认对话框、开始一项任务
- 工具栏里的图标按钮(
size="icon") - 看起来像按钮的链接(
asChild)
不要用 Button 去做普通文字导航。只有控件本身仍是操作时,才用 variant="link"。
用法
用法
示例
变体
变体
尺寸
尺寸
加载
loading 会禁用按钮并显示旋转图标。不要和 asChild 一起用。
加载
asChild
把按钮样式合并到真正的子节点上,例如 Link。子节点必须能接收 button 的 props。
asChild
API 参考
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
variant | "default" | "secondary" | "outline" | "ghost" | "destructive" | "link" | "default" | 按钮的视觉样式。 |
size | "default" | "sm" | "lg" | "icon" | "default" | 控制高度和内边距。纯图标按钮使用 icon。 |
loading | boolean | false | 禁用按钮并显示加载图标。 |
loaderClassName | string | — | 加载图标的额外 class。 |
asChild | boolean | false | 将 props 合并到子节点,不再渲染 button。不要和 loading 一起使用。 |
disabled | boolean | false | 原生禁用状态。 |
说明
- 优先用
variant,不要自己改颜色。 size="icon"是正方形,必须带无障碍名称。- 表单里的提交按钮请显式写
type="submit"。