C

Spinner 加载中

反馈组件

局部加载状态指示器,表示内容正在加载中。

何时使用

操作进行中时显示加载状态。

代码示例

基础用法

tsx
import { Spinner } from "@/components/ui/spinner"

export function Basic() {
return <Spinner>Default</Spinner>
}

变体

tsx
{/* 展示 variant 变体 */}
<div className="flex flex-wrap items-center gap-3">
<Spinner variant="default">Default</Spinner>
<Spinner variant="muted">Muted</Spinner>
<Spinner variant="white">White</Spinner>
</div>

尺寸

tsx
{/* 尺寸对照 */}
<div className="flex flex-wrap items-center gap-3">
<Spinner size="sm">Sm</Spinner>
<Spinner size="default">Default</Spinner>
<Spinner size="lg">Lg</Spinner>
</div>

样式变体

变体

Variant说明默认
default默认样式
muted
white

尺寸

Size说明默认
default默认尺寸
sm小号
lg大号
xl超大

API / Props

Spinner

PropTypeDefault说明
classNamestring自定义样式类名
labelstringLoading...Accessible label
...restReact.ComponentProps<"svg">透传 <svg> 原生属性

注意事项

  • CVA 变体: 通过 class-variance-authority 管理样式变体,类型安全。变体对象可导出复用。
  • 原生属性: 继承所有 <svg> 原生 HTML 属性。

📘 完整交互式示例与控件属性请查看 Storybook 文档