一文解决微信小程序button、input和image表单组件

 更新时间:2022年08月08日 12:40:54   作者:前端小刘不怕牛牛  
在微信小程序开发中,input 用来实现文本输入,如输入用户名密码等等,下面这篇文章主要给大家介绍了关于如何通过一文解决微信小程序button、input和image表单组件的相关资料,需要的朋友可以参考下

一,button组件

第一个来介绍的就是button组件,我们可以发现它和HTML中的按钮标签同名,是的,该组件在WXML中也是充当按钮设置功能,不过,相比之下,button组件的功能可比后者多多了,下面我们来详细介绍一下,微信小程序给我们提供哪些button功能。

type属性,用来设置按钮的样式类型,目前有三个值,primary绿色,default白色,warn红色,我们可以从它们的值的意思理解它们表示什么,绿色是重要的,红色是警告,这两种颜色会给用户提示的效果,默认样式为白色

效果如下:

tip: 有的小伙伴可能会看到的样式有一些差别,这可能是你没有设置最新样式的版本,这时候我们需要到app.json文件进行设置

"style": "v2"

这样就是声明以最新样式显示

size属性,用来设置按钮的大小,默认为default,也就是正常大小,我们还可以选择迷你按钮,将size设置为mini

效果如下:

plain属性,是否镂空,背景色透明,默认值是default,但我们改为true时

效果如下:

loading属性,是否设置名称前带loading图标,一般会设置在用户发生点击事件后或者页面还在加载时,用JS对loading的属性值进行数据绑定并操作。

效果如下:

form-type属性,无默认值,该属性是用于form组件中,点击触发form组件的submit\reset事件,当我们将属性值设置为submit触发提交表单事件,而reset则是重置表单事件。

button组件中还有很多强大的属性,比如open-type可以直接调用微信的开放能力,比如触发用户转发等等,感兴趣可以去了解一下

补充:button 开发能力

open-type:

  1. contact 直接打开 客服对话功能 需要在微信小程序的后台配置 只能够通过真机调试来打开
  2. share 转发当前的小程序 到微信朋友中 不能把小程序 分享到 朋友圈
  3. getPhoneNumber 获取当前用户的手机号码信息 结合一个事件来使用 不是企业的小程序账号 没有权限来获取用户的手机号码
    1 绑定一个事件 bindgetphonenumber
    2 在事件的回调函数中 通过参数来获取信息
    3 获取到的信息 已经加密过了
    需要用户小程序的后台服务器,在后台服务器中进行解析手机号码,返回到小程序中就可以看到信息了
  4. getUserInfo 获取当前用户的个人信息
    1 使用方法 类似 获取用户的手机号码
    2 可以直接获取 不存在加密的字段
  5. launchApp 在小程序当中 直接打开 app
    1 需要现在 app中 通过app的某个链接 打开 小程序
    2 在小程序 中 再通过 这个功能 重新打开 app
  6. openSetting 打开小程序内置的 授权页面,授权页面中 只会出现用户曾经点击过的权限
  7. feedback 打开 小程序内置的 意见反馈页面 ,只能够通过真机调试来打开

二,input组件

第二个要讲的是input组件,内容表述为输入框,该组件大致与HTML中的input标签相同,为原生组件,不过我们还是要注意该组件的用法

  • value属性,这个属性我们很熟悉,这里不多做阐述,就是来设置输入框的初始内容,一般对用户作为一个默认值,用户可能可以直接用,如性别,默认为男,需要注意的是,该属性在小程序中是必填属性
  • type属性,输入键盘的类型,当我们使用小程序表单提交东西时,会发现它弹出的键盘是不一样的,如正常的文字输入键盘,还有特殊的密码输入键盘,这些就是靠该属性实现的。属性值及说明如下表
属性值说明
text文本输入键盘
number数字输入键盘
idcard身份证输入键盘
safe-password密码安全输入键盘

password属性,是否是密码类型,当我们设置为true,输入的密码就会自动用小黑点显示

效果如下:

placeholder属性,当输入框为空时作为占位符,里面的文字一般是担任提示用户的角色

三,image组件

在功能上类似于HTML中的img标签,用来承载图片,不过在使用上,image多了几个微信提供的属性,在功能上更加多样,支持JPG、PNG、SVG、WEBP、GIF等格式,接下来我们就来说说这个组件有什么属性功能。

首先需要说一下image组件是有默认大小的,宽为300px,高为240px,这意味着即使你里面没有放图片,空图片,在没有改变其宽高的情况下,空图片是会占据一个宽300px高240px的空间的,如下所示。

<!-- html -->
<image></image>
<!-- css -->
image{
 	border: solid lightcoral 2px;
}

  1. src属性,这个不用多说,与img标签的一样,指图片资源地址。
  2. mode属性,这个是比较重要的属性,它设置了图片的裁剪、缩放模式,默认值是scaleToFill,称为缩放模式,也就是不保持纵横比缩放,将原图片的宽高拉伸到能完全填满image元素,该属性值容易出现图片变形,其他属性值如下。
属性值说明
aspectFit保持纵横比缩放图片,是图片的 长边能完全显示,能完全显示图片,但短边image组件可能出现空白块
aspectFill保持纵横比缩放图片,只保证短边可以完全显示,也就是说,长边可能会因为过长被截取
widthFiximage元素的宽度不变,高度自动变化,原图宽高不改变-
heightFitimage元素的高度不变,宽度自动变化,原图宽高不改变-
center裁剪模式,不缩放图片,只显示图片的中间区域

show-menu-by-longpress属性,长按图片可以显示菜单,发送给朋友\收藏\保存图片\搜一搜…默认值为false,这个在使用中可能比较常见,常常会在二维码图片上设置

四,API三大类

最后我们再讲一下API的三大类,API可以分为事件监听API、同步API、异步API

4.1 事件监听API

顾名思义,该类API就是用来监听某些事件的触发,而事件就是渲染层到逻辑层的通讯方式,我们通过事件监听获取用户在渲染层的行为,从而在逻辑层进行响应、业务处理。

  • 这类API以on开头,如wx.onWindowResize(function callback),监听窗口尺寸变化的事件,如果触发,即调用后面的回调函数。
  • wx对象在小程序相当于浏览器的window,属于微信小程序的顶级对象,可以全局调用

4.2 同步API

  • Sync结尾,执行的结果可以通过函数返回值直接获取,但执行错误时,直接返回异常
  • wx.setStorageSync('key', 'value'),向本地存储中写入内容

4.3 异步API

  • 通过success、false、conplete接收调用的结果
  • wx.request(),发起网络请求,可以通过success回调函数接收数据

本次先对API的分类做简单的阐述,后面再用实例来运用这些API

总结

到此这篇关于微信小程序button、input和image表单组件的文章就介绍到这了,更多相关微信小程序表单组件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 计算世界完全对称日的js代码,粗糙版

    计算世界完全对称日的js代码,粗糙版

    世界完全对称日,指的是公历纪年日期中数字左右完全对称的日期,这一天朋友们可以互送祝福同时让大家感叹时间的宝贵。
    2011-11-11
  • Webpack 4 中如何使用 webpack.ProvidePlugin

    Webpack 4 中如何使用 webpack.ProvidePlugin

    Webpack4的ProvidePlugin自动加载模块,减少显式导入,适用于CommonJS/AMD,但需注意性能及tree-shaking问题,建议用ES6 import或externals替代,与Webpack5用法类似,本文给大家介绍Webpack 4 中如何使用 webpack.ProvidePlugin,感兴趣的朋友一起看看吧
    2025-07-07
  • uni-app使用uniCloud实现图形验证码(uni-captcha)详细过程

    uni-app使用uniCloud实现图形验证码(uni-captcha)详细过程

    这篇文章主要给大家介绍了关于uni-app使用uniCloud实现图形验证码(uni-captcha)的相关资料,实际开发工作中在登陆的时候经常需要图形验证码,需要的朋友可以参考下
    2023-07-07
  • zTree树形插件异步加载方法详解

    zTree树形插件异步加载方法详解

    这篇文章主要为大家详细介绍了zTree树形插件异步加载的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • javascript addBookmark 加入收藏 多浏览器兼容

    javascript addBookmark 加入收藏 多浏览器兼容

    不错的加入收藏代码,加入了对一些常见浏览器的判断,更好的体现用户体验,兼容了ie,firefox.
    2009-08-08
  • 深度解析JavaScript中的filter()方法

    深度解析JavaScript中的filter()方法

    在JavaScript中,filter()是一个数组方法,用于从数组中过滤出符合特定条件的元素,并返回一个新数组,本文将带大家深度解析JavaScript中的filter()方法,需要的朋友可以参考下
    2023-09-09
  • 深入理解JavaScript系列(34):设计模式之命令模式详解

    深入理解JavaScript系列(34):设计模式之命令模式详解

    这篇文章主要介绍了深入理解JavaScript系列(34):设计模式之命令模式详解,命令模式(Command)的定义是:用于将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及执行可撤销的操作,需要的朋友可以参考下
    2015-03-03
  • 使用html2canvas截图不全问题的解决办法

    使用html2canvas截图不全问题的解决办法

    这篇文章主要给大家介绍了关于使用html2canvas截图不全问题的解决办法,最近在项目中遇到一个需求,需要提供网页截图的功能,这里将遇到的问题分享给大家,需要的朋友可以参考下
    2023-07-07
  • 一定有你会用到的JavaScript一行代码实用技巧总结

    一定有你会用到的JavaScript一行代码实用技巧总结

    这篇文章主要为大家介绍了一定有你会用到的JavaScript一行代码总结,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 使用JavaScript实现响应式计数器动画

    使用JavaScript实现响应式计数器动画

    在本文中,我们将学习如何使用 HTML CSS 和 JavaScript创建响应式计数器动画。 我们在很多地方都可以用,比如适用于不同类型的个人网站、企业网站等,感兴趣的可以了解一下
    2022-08-08

最新评论