Skip to content

t-button

Button 按钮

组件介绍

t-button 按钮组件,封装了常用的按钮样式和行为。支持多种类型(主要、次要、危险等)、尺寸,并能响应点击事件。支持小程序开放能力、表单提交等功能。

平台兼容

HarmonyH5AndroidiOS小程序UTS

基础用法

基础用法参考 demo/button/button.uvue,通过 type 属性设置主题,使用 size 属性设置尺寸。

vue
<template>
  <!-- 基础按钮 -->
  <t-button class="mb-30">默认按钮</t-button>
  <t-button class="mb-30" type="primary">主要按钮</t-button>
  <t-button class="mb-30" type="info">信息按钮</t-button>
  <t-button class="mb-30" type="warning">警告按钮</t-button>
  <t-button class="mb-30" type="error">危险按钮</t-button>

  <!-- 不同主题 -->
  <t-button class="mb-30" type="primary" effect="normal">主要按钮</t-button>
  <t-button class="mb-30" type="primary" effect="dark">深色按钮</t-button>
  <t-button class="mb-30" type="primary" effect="light">浅色按钮</t-button>
  <t-button class="mb-30" type="primary" effect="plain">镂空按钮</t-button>

  <!-- 不同尺寸 -->
  <t-button class="mb-30" left-icon="eye" type="primary" size="large">大按钮</t-button>
  <t-button class="mb-30" left-icon="eye" type="success" size="medium">中按钮</t-button>
  <t-button class="mb-30" left-icon="eye" type="info" size="small">小按钮</t-button>
  <t-button class="mb-30" left-icon="eye" type="warning" size="mini">迷你按钮</t-button>

  <!-- 加载状态 -->
  <t-button class="mb-30" :loading="true">加载中</t-button>

  <!-- 图标按钮 -->
  <t-button class="mb-30" left-icon="eye" type="primary">左侧图标</t-button>
  <t-button class="mb-30" right-icon="setting" type="success">右侧图标</t-button>
</template>

Props

属性名说明类型默认值
size组件尺寸,可选 largemediumsmallministring'medium'
type组件主题类型,可选 infoprimaryerrorwarningsuccessstring''
disabled是否禁用booleanfalse
effect组件显示主题,可选 normaldarklightplainstring'normal'
hover是否启用点击效果booleantrue
path点击组件后跳转的页面路径;为空时仅响应事件string''
leftIcon左侧图标,支持图标名称或图片地址string''
rightIcon右侧图标,支持图标名称或图片地址string''
loading是否显示加载状态booleanfalse
loadingIcon加载状态的图标名称string'moments'
color字体、图标颜色string''
text是否为文本按钮样式booleanfalse
rounded是否为圆角按钮booleanfalse
hoverStopPropagation是否阻止点击态冒泡booleanfalse
hoverStartTime按住后多久出现点击态,单位毫秒number20
hoverStayTime手指松开后点击态保留时间,单位毫秒number70
pt样式穿透属性,用于自定义组件内部样式UTSJSONObject{}
native是否使用原生 button 标签booleanfalse
formType表单提交类型,可选 submitresetstring''
openType小程序开放能力string''
lang指定返回用户信息的语言string''
sessionFrom会话来源string''
sendMessageTitle发送消息卡片标题string''
sendMessagePath发送消息卡片路径string''
sendMessageImg发送消息卡片图片string''
showMessageCard显示会话内消息卡片booleanfalse
appParameter打开 APP 时向 APP 传递的参数string''
groupId打开群聊卡片的群号string''
guildId打开频道卡片的频道号string''
publicId打开公众号卡片的公众号 IDstring''
phoneNumberNoQuotaToast无额度提示booleanfalse
createliveactivity创建直播间活动string''

size 说明

  • large:大尺寸,按钮的尺寸较大,适用于需要强调操作或易于点击的区域
  • medium:中尺寸,按钮的尺寸适中,可能是默认尺寸,适用于大多数场景
  • small:小尺寸,按钮的尺寸较小,适用于空间有限或操作不是特别重要的区域
  • mini:迷你,按钮的尺寸最小,适用于紧凑布局或辅助操作

type 说明

  • info:信息提示场景,通常用于提供一般的通知信息
  • primary:主要操作场景,用于强调某些主要的操作或信息
  • error:错误提示场景,用于指示出现了错误或问题
  • warning:警告提示场景,用于提示用户关于潜在的问题
  • success:成功提示场景,用于指示一个操作或过程已经成功完成

effect 说明

  • normal:正常主题
  • dark:深色主题
  • light:浅色主题
  • plain:镂空主题

Events

事件名说明回调参数
click点击时触发UniPointerEvent
transitionend动画结束时触发-
initFinished组件初始化完成时触发,返回组件节点信息NodeInfo
touchstart触摸开始时触发-
touchend触摸结束时触发-
touchmove触摸移动时触发-
touchcancel触摸取消时触发-
getuserinfo获取用户信息-
contact客服消息-
getphonenumber获取用户手机号-
error错误事件-
opensetting打开设置-
launchapp打开 APP-
chooseavatar选择头像-
chooseaddress选择地址-
chooseinvoicetitle选择发票抬头-
addgroupapp添加群应用-
subscribe订阅消息-
login登录-
getrealtimephonenumber获取实时手机号-
agreeprivacyauthorization同意隐私协议-

Slots

插槽名说明
default默认插槽,用于设置按钮内容