Skip to content

Button 按钮 ​

常用的操作按钮。

基础用法 ​

使用 type 属性来定义按钮的类型。

基础用法

朴素按钮 ​

使用 plain 属性可以设置为朴素按钮。

朴素按钮

圆角按钮 ​

使用 round 属性可以设置为圆角按钮。

圆角按钮

圆形按钮 ​

使用 circle 属性来设置圆形按钮,通常用于只包含图标的按钮。

圆形按钮

禁用状态 ​

使用 disabled 属性来控制按钮的禁用状态。

禁用状态

加载状态 ​

使用 loading 属性来控制按钮的加载状态。

加载状态

不同尺寸 ​

使用 size 属性来设置按钮的尺寸。

不同尺寸

文字按钮 ​

使用 text 属性可以设置为文字按钮。

文字按钮

链接按钮 ​

使用 link 属性可以设置为链接样式按钮。

链接按钮

块级按钮 ​

使用 block 属性可以设置为块级按钮,宽度占满容器。

块级按钮

自定义颜色 ​

使用 color 属性可以自定义按钮颜色。

自定义颜色

图标位置 ​

通过 icon-position 属性可以控制图标相对于文字的位置。支持 left (默认), right, top, bottom。

图标位置

在 Nuxt 中使用 ​

Button 组件完全支持 Nuxt 3/4 的 SSR 渲染。在 Nuxt 项目中使用时,组件会自动导入,无需手动注册。

Nuxt 中使用

SSR 注意事项:

  • ✅ 所有 Props 和样式完全支持
  • ✅ 事件绑定正常工作
  • ✅ 插槽内容完整渲染
  • ✅ 动态状态(loading、disabled 等)
  • ⚠️ autofocus 属性仅客户端生效

SSR 安全性

Button 组件已通过完整的 SSR 测试,确保服务端和客户端渲染完全一致。

API ​

Props ​

属性名说明类型默认值
type按钮类型'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info''default'
size按钮尺寸'large' | 'default' | 'small''default'
disabled是否禁用booleanfalse
loading是否加载中booleanfalse
plain是否为朴素按钮booleanfalse
round是否为圆角按钮booleanfalse
circle是否为圆形按钮booleanfalse
text是否为文字按钮booleanfalse
link是否为链接按钮booleanfalse
block是否为块级按钮booleanfalse
native-type原生 type 属性'button' | 'submit' | 'reset''button'
autofocus是否自动聚焦booleanfalse
icon左侧图标组件string | Component—
suffix-icon右侧图标组件string | Component—
icon-position图标位置'left' | 'right' | 'top' | 'bottom''left'
color自定义按钮颜色string—
tag自定义元素标签string | Component'button'
theme-overrides组件级主题覆盖ComponentThemeVarsundefined

Events ​

事件名说明回调参数
click点击按钮时触发(event: MouseEvent) => void

Slots ​

插槽名说明
default按钮内容
icon自定义内容 (受 icon-position 影响)
suffixIcon独立后缀插槽 (固定在右侧)
loading自定义加载图标

Expose ​

属性名说明类型
ref按钮 DOM 元素引用HTMLButtonElement | undefined
size计算后的实际尺寸ButtonSize
type按钮类型ButtonType
disabled是否禁用状态boolean

主题变量 ​

Button 组件支持通过覆盖以下 CSS 变量来自定义局部样式:

变量名说明默认值
--yh-button-bg-color按钮背景颜色var(--yh-fill-color-blank)
--yh-button-text-color按钮文字颜色var(--yh-text-color-regular)
--yh-button-border-color按钮边框颜色var(--yh-border-color)
--yh-button-hover-bg-color悬停状态背景颜色var(--yh-color-primary-light-9)
--yh-button-hover-text-color悬停状态文字颜色var(--yh-color-primary)
--yh-button-hover-border-color悬停状态边框颜色var(--yh-color-primary-light-8)
--yh-button-active-bg-color激活/点击状态背景颜色var(--yh-color-primary-light-8)
--yh-button-active-border-color激活/点击状态边框颜色var(--yh-color-primary)
--yh-button-active-text-color激活/点击状态文字颜色—

类型导出 ​

名称说明
YhButtonPropsYhButton props 类型
YhButtonEmitsYhButton emits 类型
YhButtonSlotsYhButton slots 类型
YhButtonExposeYhButton expose 类型
YhButtonType按钮类型联合类型
YhButtonSize按钮尺寸联合类型
YhButtonNativeType原生按钮类型联合类型
YhButtonIconPosition图标位置联合类型
YhButtonInstanceYhButton 实例类型

Released under the MIT License.