Blogger Information
Blog 85
fans 0
comment 0
visits 94813
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
微信小程序官方组件展示之基础内容button源码
软件事业部
Original
602 people have browsed it

以下将展示微信小程序之基础内容button源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。
功能描述:
按钮。
属性说明:
WebView:

Skyline:

Bug & Tip
1.tip: button-hover 默认为{background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;}
2.tip: bindgetphonenumber 从1.2.0 开始支持,但是在1.5.3以下版本中无法使用wx.canIUse进行检测,建议使用基础库版本进行判断。
3.tip: 在bindgetphonenumber 等返回加密信息的回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态。
4.tip: 从 2.21.2 起,对getPhoneNumber接口进行了安全升级,bindgetphonenumber 返回的信息中增加code参数,code是一个动态的令牌,开发者拿到code后需调用微信后台接口换取手机号。详情新版接口使用指南
5.tip: 从 2.1.0 起,button 可作为原生组件的子节点嵌入,以便在原生组件上使用 open-type 的能力。
6.tip: 目前设置了 form-type 的 button 只会对当前组件中的 form 有效。因而,将 button 封装在自定义组件中,而 form 在自定义组件外,将会使这个 button 的 form-type 失效。
示例代码:
JAVASCRIPT:

  1. const types = ['default', 'primary', 'warn']
  2. const pageObject = {
  3. data: {
  4. defaultSize: 'default',
  5. primarySize: 'default',
  6. warnSize: 'default',
  7. disabled: false,
  8. plain: false,
  9. loading: false
  10. },
  11. onShareAppMessage() {
  12. return {
  13. title: 'button',
  14. path: 'page/component/pages/button/button'
  15. }
  16. },
  17. setDisabled() {
  18. this.setData({
  19. disabled: !this.data.disabled
  20. })
  21. },
  22. setPlain() {
  23. this.setData({
  24. plain: !this.data.plain
  25. })
  26. },
  27. setLoading() {
  28. this.setData({
  29. loading: !this.data.loading
  30. })
  31. },
  32. handleContact(e) {
  33. console.log(e.detail)
  34. },
  35. handleGetPhoneNumber(e) {
  36. console.log(e.detail)
  37. },
  38. handleGetUserInfo(e) {
  39. console.log(e.detail)
  40. },
  41. handleOpenSetting(e) {
  42. console.log(e.detail.authSetting)
  43. },
  44. handleGetUserInfo(e) {
  45. console.log(e.detail.userInfo)
  46. }
  47. }
  48. for (let i = 0; i < types.length; ++i) {
  49. (function (type) {
  50. pageObject[type] = function () {
  51. const key = type + 'Size'
  52. const changedData = {}
  53. changedData[key] =
  54. this.data[key] === 'default' ? 'mini' : 'default'
  55. this.setData(changedData)
  56. }
  57. }(types[i]))
  58. }
  59. Page(pageObject)

WXML:

  1. <view class="page-body">
  2. <view class="btn-area" id="buttonContainer">
  3. <button type="primary">页面主操作 Normal</button>
  4. <button type="primary" loading="true">页面主操作 Loading</button>
  5. <button type="primary" disabled="true">页面主操作 Disabled</button>
  6. <button type="default">页面次要操作 Normal</button>
  7. <button type="default" disabled="true">页面次要操作 Disabled</button>
  8. <button type="warn">警告类操作 Normal</button>
  9. <button type="warn" disabled="true">警告类操作 Disabled</button>
  10. <view class="button-sp-area">
  11. <button type="primary" plain="true">按钮</button>
  12. <button type="primary" disabled="true" plain="true">不可点击的按钮</button>
  13. <button type="default" plain="true">按钮</button>
  14. <button type="default" disabled="true" plain="true">按钮</button>
  15. <button class="mini-btn" type="primary" size="mini">按钮</button>
  16. <button class="mini-btn" type="default" size="mini">按钮</button>
  17. <button class="mini-btn" type="warn" size="mini">按钮</button>
  18. </view>
  19. </view>
  20. </view>

WXSS :

  1. button{
  2. margin-top: 30rpx;
  3. margin-bottom: 30rpx;
  4. }
  5. .button-sp-area{
  6. margin: 0 auto;
  7. width: 60%;
  8. }
  9. .mini-btn{
  10. margin-right: 10rpx;
  11. }


版权声明: 本站所有内容均由互联网收集整理、上传,如涉及版权问题,我们第一时间处理。
原文链接地址:https://developers.weixin.qq.com/miniprogram/dev/component/button.html

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post