Skip to content

Button 按钮

该组件内部实现以uni-appbutton组件为基础,进行了二次封装。

注意

此组件内部使用uni-app组件为基础,暴露出来的props基本和官方组件保持一致,不同的平台会有不同的限制,具体可以参考uni-app的官方文档:uni-app官方button组件

平台差异说明

AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程序
兼容中兼容中兼容中兼容中

基本使用

按钮内容通过slot传入。

vue
<tn-button>图鸟</tn-button>

设置按钮的颜色

可以通过backgroundColorfontColor来设置颜色信息。设置按钮的颜色可以使用TuniaoUI内置样式中的颜色值进行设置

vue
<tn-button backgroundColor="#01BEFF" fontColor="#080808">自定义颜色按钮</tn-button>
<tn-button backgroundColor="tn-bg-blue" fontColor="tn-color-white">自定义颜色按钮</tn-button>

设置尺寸

可以通过设置tn-button组件的size(可选值为sm(小尺寸),lg(大尺寸)),默认值为空。

vue
<tn-button size="sm">小尺寸按钮</tn-button>

设置按钮的形状

可以通过设置tn-button组件的shape(可选值为default(默认),round(椭圆),icon(图标按钮))

vue
<tn-button shape="round">椭圆按钮</tn-button>

设置镂空状态

镂空状态下的按钮背景颜色会被设置为transparent(透明),通过plain属性来设置

vue
<tn-button :plain="true">镂空按钮</tn-button>

API

Props

属性名说明类型默认值可选值
index用于区分多个按钮的点击事件String|Number0-
backgroundColor背景颜色String#FFFFFF颜色的十六进制值,rgba(),rgb(),TuniaoUI内置的颜色类名
fontColor字体颜色String-颜色的十六进制值,rgba(),rgb(),TuniaoUI内置的颜色类名
fontSize字体大小Number28-
fontUnit字体大小的单位Stringrpx-
width宽度Stringauto-
height高度String64rpx-
padding内边距String0 30rpx-
margin外边距String--
size按钮尺寸String-sm/lg
shape按钮的形状Stringdefaultdefault(默认)、round(椭圆按钮)、icon(图标按钮)
shadow加上阴影Booleanfalsetrue
fontBold加粗字体Booleanfalsetrue
plain镂空按钮Booleanfalsetrue
border显示边框,plaintrue时生效Booleantruefalse
borderBold边框加粗,plaintrue时生效Booleanfalsetrue
disabled禁用Booleanfalsetrue
loading加载状态Booleanfalsetrue
formTypeform表单触发的类型String-submit/reset
openType开放能力String-参考uni-app官方文档
blockRepeatClick阻止重复点击Booleanfalsetrue
scene场景:(如果开启blockRepeatClick,这里无效)none : 不开启防抖节流模式,debounce :防抖模式 throttle:节流模式Stringnonetrue
blockTime防抖节流间隔时间(毫秒)Number200true

Slots

名称说明
default按钮显示的内容,可自定义内容展示

Event

事件名称说明回调参数
getuserinfo参考官方文档getuserinfo返回获取到的用户信息
concat打开客服会话,参考官方文档concat如果用户在会话中点击消息卡片后返回应用,可以从 contact 回调中获得具体信息
getphonenumber获取用户手机号回调,参考官方文档getphonenumber手机号信息
error当使用开放能力时,发生错误时的回调,参考官方文档error错误回调信息
click按钮点击事件index