微信小程序按钮组件:button

由 caoyeshu 创建,最后一次修改 2016-09-22

button

按钮。

属性名类型默认值说明最低版本
sizeStringdefault按钮的大小 
typeStringdefault按钮的样式类型 
plainBooleanfalse按钮是否镂空,背景色透明 
disabledBooleanfalse是否禁用 
loadingBooleanfalse名称前是否带 loading 图标 
form-typeString 用于 <form/> 组件,点击分别会触发 <form/> 组件的 submit/reset 事件 
open-typeString 微信开放能力1.1.0
hover-classStringbutton-hover指定按钮按下去的样式类。当 hover-class="none" 时,没有点击态效果 
hover-start-timeNumber20按住后多久出现点击态,单位毫秒 
hover-stay-timeNumber70手指松开后点击态保留时间,单位毫秒 
session-fromString open-type="contact"时有效:用户从该按钮进入会话时,开发者将收到带上本参数的事件推送。本参数可用于区分用户进入客服会话的来源。1.4.0
注:button-hover默认为{background-color:rgba(0,0,0,0.1);opacity:0.7;}

size 有效值:

说明
default 
mini 

type 有效值:

说明
primary 
default 
warn 

form-type 有效值:

说明
submit提交表单
reset重置表单

open-type 有效值:

说明最低版本
contact打开客服会话1.1.0
share触发用户转发,使用前建议先阅读使用指引1.2.0

示例代码:

/** wxss **/
/** 修改button默认的点击态样式类**/
.button-hover {
  background-color: red;
}
/** 添加自定义button点击态样式类**/
.other-button-hover {
  background-color: blue;
}
<button type="default" size="{{defaultSize}}" loading="{{loading}}" plain="{{plain}}"
        disabled="{{disabled}}" bindtap="default" hover-class="other-button-hover"> default </button>
<button type="primary" size="{{primarySize}}" loading="{{loading}}" plain="{{plain}}"
        disabled="{{disabled}}" bindtap="primary"> primary </button>
<button type="warn" size="{{warnSize}}" loading="{{loading}}" plain="{{plain}}"
        disabled="{{disabled}}" bindtap="warn"> warn </button>
<button bindtap="setDisabled">点击设置以上按钮disabled属性</button>
<button bindtap="setPlain">点击设置以上按钮plain属性</button>
<button bindtap="setLoading">点击设置以上按钮loading属性</button>
<button open-type="contact">进入客服会话</button>
var types = ['default', 'primary', 'warn']
var pageObject = {
  data: {
    defaultSize: 'default',
    primarySize: 'default',
    warnSize: 'default',
    disabled: false,
    plain: false,
    loading: false
  },
  setDisabled: function(e) {
    this.setData({
      disabled: !this.data.disabled
    })
  },
  setPlain: function(e) {
    this.setData({
      plain: !this.data.plain
    })
  },
  setLoading: function(e) {
    this.setData({
      loading: !this.data.loading
    })
  }
}

for (var i = 0; i < types.length; ++i) {
  (function(type) {
    pageObject[type] = function(e) {
      var key = type + 'Size'
      var changedData = {}
      changedData[key] =
        this.data[key] === 'default' ? 'mini' : 'default'
      this.setData(changedData)
    }
  })(types[i])
}

Page(pageObject)




尚学堂
二维码
建议反馈
二维码