wxc-button

MinUI 小程序组件 - 按钮组件

Install

  1. $ min install @minui/wxc-button

Demos

按钮示例

按钮 button - 图1

  1. <template>
  2. <view class="container">
  3. <view class="title">普通按钮</view>
  4. <view class="button-wrap" wx:for="{{types}}" wx:for-item="type" wx:key="key">
  5. <wxc-button size="normal" type="{{type}}" value="{{type}}"></wxc-button>
  6. </view>
  7. </view>
  8. <view class="container">
  9. <view class="title">镂空按钮</view>
  10. <view class="button-wrap" wx:for="{{types}}" wx:for-item="type" wx:key="key">
  11. <wxc-button plain="{{true}}" size="normal" type="{{type}}" value="{{type}}"></wxc-button>
  12. </view>
  13. </view>
  14. <view class="container">
  15. <view class="title">小按钮</view>
  16. <view class="button-small-wrap">
  17. <wxc-button size="small" type="beauty" value="small"></wxc-button>
  18. </view>
  19. <view class="button-small-wrap">
  20. <wxc-button plain="{{true}}" size="small" type="beauty" value="small"></wxc-button>
  21. </view>
  22. </view>
  23. <view class="container">
  24. <view class="title">大按钮带 loading 状态</view>
  25. <view class="button-large-wrap">
  26. <wxc-button size="large" type="beauty" loading="{{true}}" value="large button"></wxc-button>
  27. </view>
  28. <view class="button-large-wrap">
  29. <wxc-button plain="{{true}}" size="large" type="beauty" loading="{{true}}" value="large button"></wxc-button>
  30. </view>
  31. </view>
  32. <view class="container">
  33. <view class="title">自定义按钮</view>
  34. <view class="button-small-wrap">
  35. <wxc-button type="beauty" btnStyle="min-width: 66rpx;padding: 0;border-radius: 66rpx"><wxc-icon color="#fff" size="36" type="cart"></wxc-icon></wxc-button>
  36. </view>
  37. <view class="button-small-wrap">
  38. <wxc-button btnStyle="{{style}}">预约直播 <wxc-icon color="#fff" type="arrow-right"></wxc-icon></wxc-button>
  39. </view>
  40. <view class="button-small-wrap">
  41. <wxc-button type="beauty" btnStyle="width: 312rpx;">立即换购</wxc-button>
  42. </view>
  43. </view>
  44. <view class="container">
  45. <view class="title">表单</view>
  46. <view class="button-small-wrap">
  47. <wxc-button bindsubmit="onSubmit" type="beauty" btnStyle="width: 312rpx;">按钮</wxc-button>
  48. </view>
  49. </view>
  50. </template>
  51. <script>
  52. export default {
  53. config: {
  54. usingComponents: {
  55. 'wxc-button': '@minui/wxc-button',
  56. 'wxc-icon': '@minui/wxc-icon'
  57. }
  58. },
  59. data: {
  60. types: [
  61. 'beauty', 'selection', 'disabled',
  62. 'danger', 'success', 'secondary',
  63. 'primary', 'info', 'dark', 'warning'
  64. ],
  65. style: 'width: 222rpx;background: #ff9300;border-radius: 66rpx;color: #fff;'
  66. },
  67. /** note: 在 wxp 文件或者页面文件中请去掉 methods 包装 */
  68. methods: {
  69. onSubmit(e) {
  70. console.log(e.detail.formId)
  71. }
  72. }
  73. }
  74. </script>
  75. <style>
  76. .container {
  77. width: 100%;
  78. padding-top: 20rpx;
  79. background: #fff;
  80. text-align: center;
  81. }
  82. .container:after {
  83. display: block;
  84. content: " ";
  85. clear:both;
  86. visibility:hidden;
  87. height:0;
  88. }
  89. .title {
  90. line-height: 50rpx;
  91. margin-left:35rpx;
  92. margin-bottom:10rpx;
  93. text-align:left;
  94. font-weight: bold;
  95. font-size: 30rpx;
  96. color: #333;
  97. }
  98. .button-wrap {
  99. margin:0 0 10rpx 35rpx;
  100. float: left;
  101. }
  102. .button-large-wrap {
  103. margin-bottom: 10rpx;
  104. }
  105. .button-small-wrap {
  106. margin:0 0 10rpx 30rpx;
  107. float: left;
  108. }
  109. </style>

API

Button

名称描述
size[说明]:按钮的大小[类型]:String[默认值]:normal[可选值]:normal, small, large
type[说明]:按钮的样式类型[类型]:String[默认值]:""[可选值]:beauty, selection, success, primary, danger, warning, secondary, info, dark, disabled
plain[说明]:按钮是否镂空,背景色透明[类型]:Boolean[默认值]:false
value[说明]:按钮的文本值支持 slot, slot 的优先级低于 value[类型]:String[默认值]:""
loading[说明]:按钮文本前是否带 loading 图标[类型]:Boolean[默认值]:false
btn-style[说明]:按钮的自定义样式[类型]:String[默认值]:""
hover-class[说明]:指定按钮按下去的样式类,当 hover-class="none" 时,没有点击态效果[类型]:String[默认值]:btnhover[可选值]:btnhover, none
open-type[说明]:同微信小程序 button 组件。微信开放能力[类型]:String[默认值]:""[可选值]:contact, share, getUserInfo, getPhoneNumber, launchApp
app-parameter[说明]:同微信小程序 button 组件。打开 APP 时,向 APP 传递的参数[类型]:String[默认值]:""
hover-stop-propagation[说明]:同微信小程序 button 组件。指定是否阻止本节点的祖先节点出现点击态[类型]:Boolean[默认值]:false
hover-start-time[说明]:同微信小程序 button 组件。按住后多久出现点击态,单位毫秒[类型]:Number[默认值]:20
hover-stay-time[说明]:同微信小程序 button 组件。手指松开后点击态保留时间,单位毫秒[类型]:Number[默认值]:70
lang[说明]:同微信小程序 button 组件。指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文[类型]:String[默认值]:en
session-from[说明]:同微信小程序 button 组件。会话来源[类型]:String
send-message-title[说明]:同微信小程序 button 组件。会话内消息卡片标题[类型]:String[默认值]:当前标题
send-message-path[说明]:同微信小程序 button 组件。会话内消息卡片点击跳转小程序路径[类型]:String[默认值]:当前分享路径
send-message-img[说明]:同微信小程序 button 组件。会话内消息卡片图片[类型]:String[默认值]:截图
show-message-card[说明]:同微信小程序 button 组件。显示会话内消息卡片[类型]:Boolean[默认值]:false
bind:click[说明]:同微信小程序 button 组件。按钮点击事件,bind:tap已废弃,请升级组件。[类型]:Handler
bindgetuserinfo[说明]:同微信小程序 button 组件。用户点击该按钮时,会返回获取到的用户信息,从返回参数的detail中获取到的值同 wx.getUserInfo[类型]:Handler
bindcontact[说明]:同微信小程序 button 组件。客服消息回调[类型]:Handler
bindgetphonenumber[说明]:同微信小程序 button 组件。获取用户手机号回调[类型]:Handler
binderrror[说明]:同微信小程序 button 组件。当使用开放能力时,发生错误的回调调[类型]:Handler
bind:submit[说明]:button 组件 form-type 设置为 submit, 内置 form 表单,点击按钮时触发 submit 事件,可用于获取 formId 等,event.detail = {value, formId}

Note

  • 小程序组件系统中组件是隔离的,组件外层套 form 标签时两者是不通的,现在组件中内置 form 标签用于获取 formId
  • 小程序组件系统中组件是隔离的,所以提交表单时无法用 form 表单获取输入框中的值,只能单独获取。

ChangeLog

v1.0.1(2018-6-5)

  • wxc-button 点击事件名由 bind:tap 更名为 bind:click

v1.0.0(2018-02-26)

  • 初始版本