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
disabledboolean是false是否禁用。0.0.0-beta
loadingboolean是false是否加载状态。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
blockboolean是false是否占据整行。0.0.0-beta
nativeType'button' | 'submit' | 'reset'是'button'HTML <button> 原生 type 属性。0.0.0-beta
autofocusboolean是falseHTML <button> 原生 autofocus 属性。0.0.0-beta
pollSizeChangeboolean是false开启轮询组件尺寸变化,可能会影响性能。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 子组件的 size。0.0.3
disabledboolean是false是否禁用,Button 子组件的 disabled 和当前属性取或,决定该子组件是否禁用。0.0.0-beta
loadingboolean是false是否加载状态,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
pollSizeChangeboolean是false开启轮询组件尺寸变化,会影响 Button 子组件的同名属性。0.1.0

ButtonGroupSlots ​

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

NumberOrPercentage ​

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