Skip to content

Button 按钮

常用的操作按钮组件。

加载状态

点击按钮后进行数据加载操作,在按钮上显示加载状态。

基础用法

基础的按钮用法。默认情况下,按钮没有 hover 效果。

Hover 效果

通过设置 hover 属性,可以为按钮添加 hover 效果。支持任何有效的 CSS 颜色值或渐变。

禁用状态

按钮不可用状态。

全局回车监听

通过 globalEnter 开启全局回车键监听,无需聚焦按钮,按下回车即可触发点击事件。

图标按钮

带图标的按钮可以更好地表达按钮的含义。

权限控制

通过 permission 传入布尔值控制按钮是否可点击。false 时按钮自动禁用,悬浮显示提示文案。可通过 permissionTip 自定义提示内容。

纯图标 + 权限控制:

图标插槽

通过 #icon 具名插槽可以自定义按钮的图标/图片内容,支持放入 el-icon<img> 或任意自定义内容。未使用插槽时,src prop 仍然生效作为兜底。

自定义样式

通过 customerClass 传入自定义类名,配合 CSS 变量即可轻松修改按钮尺寸,无需与 !important 斗争。

API

属性

参数说明类型默认值
label按钮文字string'默认按钮'
icon图标路径string''
customerClass自定义样式类名string''
disabled是否禁用booleanfalse
loading是否加载中booleanfalse
hoverhover 时的背景色string''
src图片地址string''
globalEnter是否全局监听回车键booleanfalse
permission是否有权限,false 时按钮禁用booleantrue
permissionTip无权限时的提示文案string'暂无权限'
onlyIcon纯图标按钮模式,18x18 无边框无间距booleanfalse

插槽

插槽名说明
default按钮的内容
icon自定义图标/图片内容,优先级高于 src prop

CSS 变量

通过 customerClass 配合以下 CSS 变量自定义按钮样式:

变量名说明默认值
--cy-btn-height按钮高度56px
--cy-btn-padding按钮内边距15px 20px
--cy-btn-font-size字体大小14px
--cy-btn-border-radius按钮圆角4px

使用示例:

vue
<CYButton label="小按钮" customerClass="small-btn" />

<style>
:deep(.small-btn) {
  --cy-btn-height: 36px;
  --cy-btn-padding: 6px 12px;
  --cy-btn-font-size: 12px;
  --cy-btn-border-radius: 8px;
}
</style>

Released under the MIT License.