codecamp

支付宝小程序表单组件 按钮·Button

需要重点强调该操作并且引导用户去点击的入口通过按钮表达。

扫码体验

示例代码

<!-- API-DEMO page/component/button/button.axml -->
<view class="page">
  <view class="page-description">按钮</view>
  <view class="page-section">
    <view class="page-section-title">type-primary/ghost</view>
    <view class="page-section-demo">
      <button type="primary">主要操作 Normal</button>
      <button type="primary" loading>操作</button>
      <button type="primary" disabled>主要操作 Disable</button>
      <button type="ghost">ghost操作</button>
      <button type="ghost" loading>ghost操作</button>
      <button type="ghost" disabled>ghost操作 Disable</button>
    </view>
  </view>
  <view class="page-section">
    <view class="page-section-title">type-default</view>
    <view class="page-section-demo">
      <button data-aspm-click="xxx">辅助操作 Normal</button>
      <button disabled>辅助操作 Disable</button>
    </view>
  </view>
  <view class="page-section">
    <view class="page-section-title">type-warn</view>
    <view class="page-section-demo">
      <button type="warn">警告类操作 Normal</button>
      <button type="warn" disabled>警告类操作 Disable</button>
      <button type="warn" hover-class="red">hover-red</button>
    </view>
  </view>
  <view class="page-section">
    <view class="page-section-title">Size</view>
    <view class="page-section-demo">
      <button size="mini" loading>提交</button>
      <button style="margin-left: 10px;" type="primary" size="mini">选项</button>
    </view>
  </view>
  <view class="page-section">
    <view class="page-section-title">open</view>
    <view class="page-section-demo">
      <button open-type="share">share</button>
    </view>
  </view>
  <view class="page-section">
    <view class="page-section-title">Form</view>
    <view class="page-section-demo">
      <form onSubmit="onSubmit" onReset="onReset">
        <button form-type="submit" type="primary">submit</button>
        <button form-type="reset">reset</button>
      </form>
    </view>
  </view>
</view>
// API-DEMO page/component/button/button.js
Page({
  data: {},
  onSubmit() {
    my.alert({ title: 'You click submit' });
  },
  onReset() {
    my.alert({ title: 'You click reset' });
  },
});
/* API-DEMO page/component/button/button.acss */
.red {
  background-color: red;
  border-color: red;
  color: #fff;
}


button + button {
  margin-top: 32rpx;
}

属性

属性 类型 默认值 描述 最低版本
size String default 有效值 default, mini(小尺寸)。 -
type String default 按钮的样式类型,有效值 primary,default,,warn。 -
plain Boolean false 是否镂空(ghost 与 plain 等效)。 -
disabled Boolean false 是否禁用。 -
loading Boolean false 按钮文字前是否带 loading 图标。 -
hover-class String button-hover 按钮按下去的样式类。button-hover 默认为 {background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;},hover-class="none" 时表示没有被点击效果。 -
hover-start-time Number 20 按住后多少时间后出现点击状态,单位毫秒。 -
hover-stay-time Number 70 手指松开后点击状态保留时间,单位毫秒。 -
hover-stop-propagation Boolean false 是否阻止当前元素的祖先元素出现被点击样式。 1.10.0
form-type String - 有效值:submit, reset,用于 form 表单组件,点击分别会触发 submit/reset 事件。 -
open-type String - 开放能力。 1.1.0
scope String - 当 open-type 为 getAuthorize 时有效。 1.11.0
onTap EventHandle - 点击。说明:每点击一次会触发一次事件,建议自行使用代码防止重复点击,可以使用 js 防抖和节流实现。 -
public-id String - 生活号 id,必须是当前小程序同主体且已关联的生活号,open-type="lifestyle" 时有效。 -

open-type 有效值

说明 最低版本
share 触发自定义分享,可使用 my.canIUse('button.open-type.share') 判断。 1.1.0
getAuthorize 支持小程序授权,可使用 my.canIUse('button.open-type.getAuthorize') 判断。 1.11.0
contactShare 分享到通讯录好友,可使用 my.canIUse('button.open-type.contactShare') 判断。 1.11.0
lifestyle 关注生活号,可使用 my.canIUse('button.open-type.lifestyle') 判断。 1.11.0

scope 有效值

当 open-type 为 getAuthorize 时,可以设置 scope 为以下值:

说明 最低版本
phoneNumber 用户点击同意后,即可通过 my.getPhoneNumber授权小程序获取用户绑定的手机号。 1.11.0
userInfo 用户点击同意后,即可通过 my.getOpenUserInfo 授权小程序获取支付宝会员基础信息: 1.11.0

常见问题

button 如何去除默认边框?

设置下 class 改为:border: 0; padding: 0;

如何实现自定义分享中的 button: 页面分享按钮触发?

通过给 button 组件设置属性 open-type="share",可以在用户点击按钮后触发。

支付宝小程序基础组件 进度条·Progress
支付宝小程序表单组件 表单·Form
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

支付宝小程序开发文档

支付宝小程序 快速示例

支付宝小程序 小程序快速示例

支付宝小程序 框架

支付宝小程序 组件

支付宝小程序组件 基础组件

支付宝小程序组件 无障碍访问

支付宝小程序 扩展组件

支付宝小程序扩展组件 UI组件

支付宝小程序 API

支付宝小程序 开发工具

支付宝小程序 云服务

支付宝小程序 Serverless

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }