Skip to content

Button 按钮

查看 sn-button 的 2.0 版本差异

基础用法

  • 按钮组件,内置五种功能色主题与四级等级样式,通过 typelevel 组合出丰富的视觉表现
  • 支持图标、圆形纯图标按钮、镂空(plain)、虚线边框(dashed)、加载状态与禁用状态
  • 支持自定义圆角 radius、三种尺寸 size,以及 hover-style 自定义按下点击态
vue
<template>
	<sn-button type="primary" text="Primary"></sn-button>
</template>

更多演示请下载 demo 查看

属性

参数说明类型默认值可选值
type按钮主题色类型Stringprimaryprimary | info | success | error | warning
level按钮等级,决定表现程度(first 最重、least 最轻)Stringfirstfirst | second | third | least
size按钮尺寸,影响内边距、字号与圆角Stringnormalsmall | normal | large
text按钮文本内容(未提供默认插槽内容时显示)String''-
icon按钮图标名称,传入后显示图标(sn-icon 图标名)String''-
iconPosition图标位置Stringleftleft | right
shape按钮形状,circle 时为纯图标圆形按钮,不显示文本Stringrectrect | circle
radius自定义按钮圆角,shapecircle 时强制全圆角String | Number''-
plain是否镂空(透明背景 + 边框样式)Booleanfalsetrue | false
dashed是否虚线边框(一般配合 plain 使用)Booleanfalsetrue | false
disabled是否禁用,禁用后透明度降低且不可点击Booleanfalsetrue | false
loading是否加载状态,显示加载遮罩并阻止点击Booleanfalsetrue | false
loadingClass加载指示器外部样式类String''-
loadingStyle加载指示器自定义样式UTSJSONObject | String`border-color: ${$snui.colors.primary}`-
iconClass图标外部样式类String''-
iconStyle图标自定义样式UTSJSONObject | String''-
textClass文本外部样式类String''-
textStyle文本自定义样式UTSJSONObject | String''-
hoverStyle按下时的点击态样式(如 backgroundtransform: scale(0.94) 等)UTSJSONObject | String''-
hoverStopPropagation是否阻止点击态的父节点传播Booleanfalsetrue | false
hoverStartTime按下后点击态出现的延迟时间(ms)Number0-
hoverStayTime松手后点击态保留的时间(ms)Number0-
hoverTransTime点击态过渡动画时长,支持 $ 前缀按动画乘数缩放,空值时使用框架短动画时长String | Number''-
customStyle自定义根节点样式UTSJSONObject | String''-
customClass自定义根节点样式类String''-

事件

名称类型说明
click() => Void点击按钮时触发(禁用或加载状态下不触发)

插槽

名称说明
default替换按钮内部原有的文本内容
body替换按钮整体内部内容(含图标与文本),自定义按钮内部布局

使用 MIT 协议