Skip to content

按钮 Button

一个常见的按钮,是用于触发功能的控件。

按钮主题

按钮有 'primary'(默认)、'success''warning''danger''info''sakura''notice' 多种主题。

隐藏源代码

按钮变体

按钮有 'primary'(默认)、'plain''outline''text' 四种样式变体。

隐藏源代码

按钮形状

按钮有 'rect'(默认)、'round''circle''square' 四种形状。

隐藏源代码

按钮尺寸

可以设置 size 属性改变按钮的样式,有 'medium'(默认)、'small''large' 三种。

隐藏源代码

禁用状态

disabled 设置按钮禁用。

隐藏源代码

加载状态

loading 设置按钮是否处于加载状态,加载状态时按钮的原生属性 disabled="true",不会响应 click 事件。

隐藏源代码

按钮图标

icon 插槽设置按钮图标。

隐藏源代码

占据整行

设置 block 属性可以使得按钮占据整行。

隐藏源代码

自定义颜色

自定义主色,内部基于此生成完整色板,该色板优先级高于 theme 提供的预设色版。详见 支持的颜色解析

隐藏源代码

圆角边框

borderRadius 设置按钮圆角,优先级高于 shape,与 CSS border-radius 行为一致。

精力和技术力不太充足,自定义圆角还有需要优化的地方,但整体不影响使用。

  • 单值或长度为 1 的数组 → 四角同时生效;
  • 长度为 2 的数组 → [左上 & 右下, 右上 & 左下];
  • 长度为 3 的数组 → [左上, 右上 & 左下, 右下];
  • 长度为 4 的数组 → 按顺时针顺序依次作用于四角。
隐藏源代码

按钮组

使用 ButtonGroup 组件可以像这样子把按钮放在一起。

隐藏源代码

API

ButtonProps

属性类型可选默认值描述版本
borderRadiusNumberOrPercentage | NumberOrPercentage[]圆角半径,优先级高于 shape,与 CSS border-radius 行为一致;单值或长度为 1 的数组 → 四角同时生效;长度为 2 的数组 → [左上 & 右下, 右上 & 左下];长度为 3 的数组 → [左上, 右上 & 左下, 右下];长度为 4 的数组 → 按顺时针顺序依次作用于四角。0.0.0-beta
shape'rect' | 'round' | 'circle' | 'square''rect'按钮形状。0.0.3
size'medium' | 'large' | 'small''medium'按钮尺寸。0.0.0-beta
disabledbooleanfalse是否禁用。0.0.0-beta
loadingbooleanfalse是否加载状态。0.0.0-beta
variant'primary' | 'plain' | 'text' | 'outline''primary'按钮样式变体。0.0.0-beta
theme'primary' | 'sakura' | 'success' | 'warning' | 'danger' | 'info' | 'notice''primary'按钮主题。0.0.0-beta
colorstring自定义主色,内部基于此生成完整色板,该色板优先级高于 theme 提供的预设色版。详见 支持的颜色解析0.0.0-beta
blockbooleanfalse是否占据整行。0.0.0-beta
nativeType'button' | 'submit' | 'reset''button'HTML <button> 原生 type 属性。0.0.0-beta
autofocusbooleanfalseHTML <button> 原生 autofocus 属性。0.0.0-beta
pollSizeChangebooleanfalse开启轮询组件尺寸变化,可能会影响性能。0.1.0

ButtonEvents

事件参数描述版本
clicke: MouseEvent点击事件。0.0.0-beta

ButtonSlots

插槽参数描述版本
default按钮内容。0.0.0-beta
icon按钮图标。0.0.0-beta

ButtonGroupProps

属性类型可选默认值描述版本
borderRadiusNumberOrPercentage | NumberOrPercentage[]圆角半径,优先级高于 shape,将覆盖 Button 子组件的 borderRadius,圆角仅作用于两侧 Button 子组件的外侧边框。与 CSS border-radius 行为一致;单值或长度为 1 的数组 → 四角同时生效;长度为 2 的数组 → [左上 & 右下, 右上 & 左下];长度为 3 的数组 → [左上, 右上 & 左下, 右下];长度为 4 的数组 → 按顺时针顺序依次作用于四角。0.0.0-beta
shape'rect' | 'round' | 'square' | 'circle'按钮形状,将覆盖 Button 子组件的 shape,圆角仅作用于两侧 Button 子组件的外侧边框。0.0.0-beta
size'medium' | 'large' | 'small''medium'按钮尺寸,将覆盖 Button 子组件的 size0.0.3
disabledbooleanfalse是否禁用,Button 子组件的 disabled 和当前属性取或,决定该子组件是否禁用。0.0.0-beta
loadingbooleanfalse是否加载状态,Button 子组件的 loading 和当前属性取或,决定该子组件是否加载状态。0.0.0-beta
variant'primary' | 'plain' | 'text' | 'outline'按钮样式变体,Button 子组件的 variant 和当前属性取或,决定该子组件的样式变体。0.0.0-beta
theme'primary' | 'sakura' | 'success' | 'warning' | 'danger' | 'info' | 'notice'0.0.0-beta
pollSizeChangebooleanfalse开启轮询组件尺寸变化,会影响 Button 子组件的同名属性。0.1.0

ButtonGroupSlots

插槽参数描述版本
default子按钮。0.0.0-beta

NumberOrPercentage

ts
export type NumberOrPercentage = number | `${number}%`