微信小程序云开发笔记(一):button组件的应用

button的简单介绍

button是微信小程序一个重要的组件,在页面跳转,触发事件,表单提交等有着重要的作用,本篇文章适合微信小程序易经入门但还不熟练地新手,本文章将从button样式,事件绑定实现弹窗,页面跳转等功能全面介绍button的应用。

type

type的属性值有三种

  1. primary 绿色
  2. default 白色
  3. warn 红色
    在这里插入图片描述除了这种方式可以设置按钮大小,还有其他的通过视图来控制按钮的方式,因为我们知道,微信小程序的按钮并不都是这三种颜色。其他方式比如把按钮放在一个view中。然后对这个view做修改,把可以圆形,方形等等,对应里边的按钮自然会占满整个view,形状也就被改变了。

size

size有default和mini两个值,size设置成mini则为小按钮样式
在这里插入图片描述

//button.wxml
<button bindtap="goto" type="primary" size="mini">
    <text style="font-size:100rpx">button</text>
</button>
//定义button,给button一个样式primary,中间用text给button命名

其他属性

  • plain:plain就是简易的意思,在按钮这里实现镂空功能,当把这个属性设置为true的时候,按钮背景变为透明色。
  • disabled来设置是否禁用,此属性设置为true,则按钮不能点击
  • loading此属性来控制按钮名称前是否带 loading 图标
  • form-type:这个功能比较重要,后边的表单提交需要用到form-type的功能,用于 form 组件,点击分别会触发 form 组件的 submit/reset 事件
  • open-type:这个按钮也比较重要,是微信的开放能力
    1、contact:打开客服会话,如果用户在会话中点击消息卡片后返回小程序,可以从 bindcontact 回调中获得具体信息
    2、share:触发用户转发 getPhoneNumber 获取用户手机号,可以从bindgetphonenumber回调中获取到用户信息
    3、getUserInfo :获取用户信息,可以从bindgetuserinfo回调中获取到用户信息
    4、launchApp:打开APP,可以通过app-parameter属性设定向APP传的参数
    5、openSetting:打开授权设置页
    6、feedback:打开“意见反馈”页面,用户可提交反馈内容并上传日志,开发者可以登录小程序管理后台后进入左侧菜单“客服反馈”页面获取到反馈内容

其他各种属性及功能可参考微信官方文档,里面就相当于一本小程序的电子词典,你想要的功能都可以在里边查询到,这里就不做一一阐述。

button是一个组件中比较常用的一个,学会button的熟练应用可以让自己对小程序的设计变得游刃有余。其次就是实现按钮的某些功能不一定是需要按钮的,比如页面跳转,比如添加绑定事件,不是只有button才能添加绑定事件,我们可以对图片等其他组件添加绑定事件,实现具体功能,小程序开发中要学会灵活运用button的功能。

下面给出微信小程序文档中的代码,作为参考,里面囊括了button组件的大部分属性的使用

//JS
const types = ['default', 'primary', 'warn']
const pageObject = {
  data: {
    defaultSize: 'default',
    primarySize: 'default',
    warnSize: 'default',
    disabled: false,
    plain: false,
    loading: false
  },
  onShareAppMessage() {
    return {
      title: 'button',
      path: 'page/component/pages/button/button'
    }
  },
  setDisabled() {
    this.setData({
      disabled: !this.data.disabled
    })
  },
  setPlain() {
    this.setData({
      plain: !this.data.plain
    })
  },
  setLoading() {
    this.setData({
      loading: !this.data.loading
    })
  },
  handleContact(e) {
    console.log(e.detail)
  },
  handleGetPhoneNumber(e) {
    console.log(e.detail)
  },
  handleGetUserInfo(e) {
    console.log(e.detail)
  },
  handleOpenSetting(e) {
    console.log(e.detail.authSetting)
  },
  handleGetUserInfo(e) {
    console.log(e.detail.userInfo)
  }
}
for (let i = 0; i < types.length; ++i) {
  (function (type) {
    pageObject[type] = function () {
      const key = type + 'Size'
      const changedData = {}
      changedData[key] =
        this.data[key] === 'default' ? 'mini' : 'default'
      this.setData(changedData)
    }
  }(types[i]))
}
Page(pageObject)

//wxml
<view class="page-body">
  <view class="btn-area" id="buttonContainer">
    <button type="primary">页面主操作 Normal</button>
    <button type="primary" loading="true">页面主操作 Loading</button>
    <button type="primary" disabled="true">页面主操作 Disabled</button>

    <button type="default">页面次要操作 Normal</button>
    <button type="default" disabled="true">页面次要操作 Disabled</button>

    <button type="warn">警告类操作 Normal</button>
    <button type="warn" disabled="true">警告类操作 Disabled</button>

    <view class="button-sp-area">
      <button type="primary" plain="true">按钮</button>
      <button type="primary" disabled="true" plain="true">不可点击的按钮</button>

      <button type="default" plain="true">按钮</button>
      <button type="default" disabled="true" plain="true">按钮</button>

      <button class="mini-btn" type="primary" size="mini">按钮</button>
      <button class="mini-btn" type="default" size="mini">按钮</button>
      <button class="mini-btn" type="warn" size="mini">按钮</button>
    </view>
  </view>
</view>
//wxss
button{
  margin-top: 30rpx;
  margin-bottom: 30rpx;
}
.button-sp-area{
  margin: 0 auto;
  width: 60%;
}
.mini-btn{
  margin-right: 10rpx;
}

以上就是微信小程序中我对于button的个人总结,其中的不足之处还有待改进。希望能帮到你们,也希望志同道合的朋友找我交流探讨。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 微信小程序云开发是一种方便开发者在微信小程序中进行快速开发的云服务。它提供了两种主要的后台语言选择,分别是Spring Boot和Node.js。 Spring Boot是一款基于Java语言的开发框架,它能够帮助开发者快速搭建企业级应用程序。Spring Boot具有简化配置、自动化配置、快速开发等特点,能够加快开发速度、提高开发效率。在微信小程序云开发中,使用Spring Boot作为后台语言可以基于Java进行开发,实现业务逻辑的处理、数据库的操作、接口的开发等。Spring Boot在企业级开发中被广泛应用,因此使用它进行微信小程序云开发能够获得更丰富的技术支持和生态系统。 Node.js是一种基于JavaScript语言的后台开发语言,它具有高效、轻量、可伸缩等特点。Node.js使用事件驱动、非阻塞I/O模型,能够处理大量并发访问,适合构建高性能的网络应用和服务。在微信小程序云开发中,使用Node.js作为后台语言可以基于JavaScript进行开发,实现业务逻辑的处理、数据库的操作、接口的开发等。Node.js在全球拥有庞大的开发者社区和生态系统,因此使用它进行微信小程序云开发能够获得更多的开发资源和共享的代码库。 总而言之,无论选择Spring Boot还是Node.js作为微信小程序云开发的后台语言,都能够通过其相应的特点和优势,快速实现小程序的开发需求,并获得广泛的技术支持和共享资源。具体选择哪种语言取决于开发者的经验和偏好,以及项目需求的复杂性和规模等因素。 ### 回答2: 微信小程序云开发是一种用于开发微信小程序的新型开发方式,它提供了一整套云开发能力,包括云函数、数据库、存储等等。而Spring Boot和Node.js则是两种常用于开发Web应用的后端技术。 Spring Boot是一个基于Spring框架的快速开发应用的工具,它简化了Spring的配置过程,提供了很多开箱即用的功能,让开发者可以更快速地搭建Web应用。Spring Boot主要使用Java语言进行开发,它的特点是分层架构、模块化开发、依赖管理等。 Node.js是一种基于事件驱动、非阻塞I/O模型的后端JavaScript运行环境,它可以用于构建高性能、可扩展的网络应用。Node.js使用JavaScript语言进行开发,它的特点是单线程、事件循环、异步非阻塞等。 相比而言,微信小程序云开发更适合开发小程序,而Spring Boot和Node.js则更适合开发Web应用微信小程序云开发主要利用云开发能力,将开发者的代码逻辑部署在云端,并提供了强大的实时数据库、云函数等功能。而Spring Boot和Node.js则需要自己搭建服务器环境,并且需要开发者编写后端逻辑代码来处理请求和响应。 总结来说,微信小程序云开发适合开发小程序,提供了丰富的云开发能力;而Spring Boot和Node.js适合开发Web应用,提供了快速开发、高性能的后端技术。根据具体的应用需求和开发者的技术背景,可以选择合适的技术进行开发。 ### 回答3: 微信小程序云开发是一种基于微信生态系统的开发框架,它允许开发者通过云函数、数据库和存储等服务器端资源来扩展小程序的功能。在微信小程序云开发中,可以使用多种后端技术来开发云函数,其中包括Spring Boot和Node.js。 Spring Boot是一个基于Java语言的开发框架,它提供了快速开发和构建Web应用程序的能力。通过Spring Boot,开发者可以使用Java语言编写云函数,这些函数可以通过请求-响应的方式与小程序进行交互。Spring Boot具有强大的生态系统和丰富的功能库,可以轻松处理各种业务逻辑,并提供高效稳定的性能。 Node.js是一个基于JavaScript语言的开发平台,它提供了基于事件驱动、非阻塞IO模型的服务器端编程能力。通过Node.js,开发者可以使用JavaScript语言编写云函数,并使用其丰富的模块库来快速开发小程序的后端功能。另外,Node.js还具有高效的并发处理能力,可以处理大量的用户请求。 无论是Spring Boot还是Node.js,都可以在微信小程序云开发中充当云函数的开发语言,开发者可以根据自己的喜好和经验选择使用哪种语言。两者都具有丰富的开发资源和社区支持,可以满足各种复杂的业务需求。当然,选择哪种语言还需要考虑开发者的技术背景和项目需求。 总而言之,微信小程序云开发支持使用Spring Boot和Node.js来开发云函数,通过灵活的后端技术选择,开发者可以更加便捷地扩展小程序的功能,提供更好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

return you

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值