Skip to content

m-button 按钮

简述

通用按钮组件,支持多种样式、尺寸与颜色、加载态与禁用态,以及微信开放能力(如获取手机号)。

注意

openType@getphonenumber 等依赖各端实现;H5 / App 部分能力不可用或与小程序表现不同。

平台差异说明

App(vue)App(nvue)H5小程序

演示地址

与线上 H5 演示基座 分包一致(文档站右下角预览 iframe 亦指向同一路径)。

类型地址
分包路径pages_demo/button/button
线上 H5(hash)打开演示

基本使用

uvue
<template>
	<view>
		<m-button type="primary" @click="handleClick">确定</m-button>
	</view>
</template>

<script setup lang="uts">
	const handleClick = () => {
		console.log('点击了按钮')
	}
</script>

Props

参数说明类型默认值
type样式类型,primary / white / danger / warning / green / blue / gray / black / brown / gray-primary / gray-danger / gray-warning / gray-greenstringprimary
shadow是否显示阴影booleanfalse
width宽度,单位 rpx 或 %string100%
height高度,单位 rpxstring- (自动计算)
btnSize预设尺寸 medium / small / mini / tiny(超迷你)string-
size字体大小,单位 rpxnumber | string0 (自动)
bold字体加粗booleanfalse
margin外边距string0
shape形状 circle (圆角) / square (方形) / rightAngle (平角)stringsquare
plain是否空心边框booleanfalse
link是否链接样式booleanfalse
disabled是否禁用booleanfalse
disabledGray禁用后是否灰色背景booleanfalse
loading是否显示加载中booleanfalse
formType表单类型 submit / resetstring-
openType微信开放能力string-
appParameteropenType 额外参数string-
preventClick是否防止重复点击(200ms 内只响应一次)booleanfalse
index索引number | string0

Events

事件名说明回调参数
click点击按钮时触发{ index: number }
getuserinfo获取用户信息detail
getphonenumber获取手机号detail
contact打开客服detail
error错误detail
chooseavatar选择头像detail
launchapp打开appdetail

类型说明

type 可选值

说明
primary主色调 - 蓝色
danger危险 - 红色
warning警告 - 橙色
green成功 - 绿色
blue蓝色
gray灰色
white白色
black黑色
brown棕色
gray-primary浅灰底 + 主色强调
gray-danger浅灰底 + 危险色强调
gray-warning浅灰底 + 警告色强调
gray-green浅灰底 + 成功色强调

btnSize 预设尺寸

未传 size(或为 0)时,字号由 getSizebtnSize 推导(数值经 toCssLength 转为 rpx);显式传入非零 size 时优先。档位字符串会做 trim + 小写匹配。

宽/高映射仅包含 medium / small / mini / tinylarge 仅影响字号(34rpx),宽高仍由 width / height 或默认 height 96rpx 等规则决定。

宽度高度默认字号(未传 size
large(沿用 width,默认 100%(默认 96rpx 或自定义 height34rpx
medium368rpx80rpx30rpx
small240rpx80rpx26rpx
mini116rpx64rpx18rpx
tiny112rpx48rpx12rpx

插槽

名称说明
default按钮文字

示例

主要样式

uvue
<m-button type="primary">主按钮</m-button>
<m-button type="danger">危险按钮</m-button>
<m-button type="warning">警告按钮</m-button>
<m-button type="green">成功按钮</m-button>

空心按钮

uvue
<m-button type="primary" plain>空心按钮</m-button>

圆角按钮

uvue
<m-button type="primary" shape="circle">圆角按钮</m-button>

禁用状态

uvue
<m-button type="primary" disabled>禁用按钮</m-button>

加载中

uvue
<m-button type="primary" loading>加载中</m-button>

开放能力 - 获取手机号

uvue
<m-button
	type="primary"
	open-type="getphonenumber"
	@getphonenumber="handleGetPhone"
>获取手机号</m-button>

Released under the MIT License.