Skip to main content

按钮 Button

一个基于 Reactclass-variance-authority 构建的高度可配置按钮组件,支持变体、图标、加载状态等功能。


📦 引入方式

import { Button } from '@npmqg/react-ui-core';

🧩 使用示例

📚 基本使用

📚 设置按钮类型(variant)

📚 设置尺寸(size)

📚 图标和加载状态

📚 自定义颜色(textColor)

📚 与 asChild 搭配使用(继承其他元素)


🧩 Props

名称类型默认值描述
variant"default" | "text" | "link""default"按钮风格类型
size"sm" | "default" | "lg" | "icon" | "zero""default"按钮尺寸
textColor"default" | "success" | "primary" | "danger" | "warning" | "info" | "gray""default"控制文字颜色
iconReact.ReactNodeundefined按钮中的图标
loadingbooleanfalse是否为加载中状态
loadingTextstringundefined加载时展示的文字
asChildbooleanfalse是否作为子组件渲染(用于 Slot 包裹其他组件)
disabledbooleanfalse是否禁用按钮
childrenReact.ReactNode-按钮内容
...propsReact.ButtonHTMLAttributes<HTMLButtonElement>-原生 <button> 的所有属性支持

🎨 样式说明

  • 使用 cva 定义了变体类名,支持多种样式组合。
  • 图标(如 <Loader2 />)自动适应大小和位置。
  • 默认带有响应式 hover 和 focus 样式。
  • 支持 Tailwind 样式自定义扩展。