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

目录
  • 一,button组件
    • 补充:button 开发能力
  • 二,input组件
  • 三,image组件
  • 四,API三大类
    • 4.1 事件监听API
    • 4.2 同步API
    • 4.3 异步API
  • 总结

一,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 保持纵横比缩放图片,只保证短边可以完全显示,也就是说,长边可能会因为过长被截取
widthFix image元素的宽度不变,高度自动变化,原图宽高不改变 -
heightFit image元素的高度不变,宽度自动变化,原图宽高不改变 -
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表单组件的文章就介绍到这了,更多相关微信小程序表单组件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 微信小程序 Button 组件详解及简单实例

    微信小程序 Button 相关文章: 微信小程序 Button 微信小程序 radio 微信小程序 slider 微信小程序 switch 微信小程序 textarea 微信小程序 picker-view 微信小程序 picker 微信小程序 label 微信小程序 input 微信小程序 form 微信小程序 checkbox 实现实例效果图: 属性名 类型 默认值 说明 size String default 有效值default, mini type String default 按钮的样

  • 微信小程序form表单组件示例代码

    表单,将组件内的用户输入的<switch/> <input/> <checkbox/> <slider/> <radio/> <picker/> 提交. 当点击<form/>表单中 formType 为 submit 的<button/>组件时,会将表单组件中的 value 值进行提交,需要在表单组件中加上 name 来作为 key. 属性名 类型 说明 report-submit Boolean 是否返回fo

  • 微信小程序button组件使用详解

    本文为大家分享了微信小程序button组件的使用方法,供大家参考,具体内容如下 展示效果图 button组件的常用属性 size:default.mini--default为块级按钮.mini为小按钮 type:primary.default.warn--primary提交成功.default默认灰色.warn警告色 plain:true.false--按钮是否镂空,背景色透明 disabled:true.false--是否禁用 loading:true.false--名称前是否带 loadin

  • 微信小程序 image组件遇到的问题

    远程图片 在真机上测试时 image组件只能显示http请求的图片, 对https 与 //xxx.xxx.xx 之类的不能显示. 可显示 'http://img.alicdn.com/i2/83231071/TB2B03RsYplpuFjSspiXXcdfFXa_!!83231071.jpg', "http://img.alicdn.com/i2/83231071/TB2uTODub0kpuFjy0FjXXcBbVXa_!!83231071.jpg", "http://im

  • 微信小程序 (十七)input 组件详细介绍

    input输入框使用的频率也是比较高的...样式的话自己外面包裹个view自己定义.input属性也不是很多,有需要自己慢慢测,尝试 主要属性: wxml <!--style的优先级比class高会覆盖和class相同属性--> <view class="inputView" style="margin-top: 40% "> <input class="input" type="number"

  • 微信小程序常用表单组件的使用详解

    目录 1.常用表单组件 1.1button 1.2checkbox 1.3input 1.4label 1.5form 1.6radio 1.7slider 1.8switch 1.9textarea 2.实训小案例–问卷调查 1.常用表单组件 1.1 button <button>为按钮组件,是常用的表单组件之一,用于事件的触发以及表单的提交.其属性表如下所示. 代码示例: <view class="demo-box"> <view class=&quo

  • 微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)

    一.函数节流(throttle) **函数节流:一个函数执行一次后,只有大于设定的执行周期后才会执行第二次**.有个需要频繁触发函数,出于优化性能角度,在规定时间内,只让函数触发的第一次生效,后面不生效. ### 1.如何实现 其原理是用时间戳来判断是否已到回调该执行时间,记录上次执行的时间戳,然后每次触发 scroll 事件执行回调,回调中判断当前时间戳距离上次执行时间戳的间隔是否已经到达 规定时间段,如果是,则执行,并更新上次执行的时间戳,如此循环: function throttle(fn

  • 微信小程序 Image组件实例详解

    image组件也是一个程序不可缺少的,可以这样说一个app中image组件随处可以看到,一般 image有两种加载方式第一种是网络图片第二种是本地图片资源,都用src属性去指定. 重点属性: 三种缩放模式 九种剪切方式 wxml <!--3中是缩放模式 scaleToFill 不保持纵横比缩放图片,使图片的宽高完全拉伸至填满image元素 aspectFit 保持纵横比缩放图片,使图片的长边能完全显示出来.也就是说,可以完整地将图片显示出来. aspectFill 保持纵横比缩放图片,只保证图片

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

    目录 一,button组件 补充:button 开发能力 二,input组件 三,image组件 四,API三大类 4.1 事件监听API 4.2 同步API 4.3 异步API 总结 一,button组件 第一个来介绍的就是button组件,我们可以发现它和HTML中的按钮标签同名,是的,该组件在WXML中也是充当按钮设置功能,不过,相比之下,button组件的功能可比后者多多了,下面我们来详细介绍一下,微信小程序给我们提供哪些button功能. type属性,用来设置按钮的样式类型,目前有三

  • 微信小程序实现注册登录功能(表单校验、错误提示)

    口说无凭,实现效果如下 前端 部分 注册功能 1.wxml文件 <view> <view class="frm"> <view class="ui-row ui-row-border-top ui-row-border-bottom" style="margin-bottom: 20px;height:40px;"> <view class="ui-col ui-col-border-right

  • 解决微信小程序scroll-view组件无横向滚动的问题

    微信开放文档中scroll-view组件的部分代码如下 <scroll-view class="scroll-view_H" scroll-x="true" bindscroll="scroll" style="width: 100%"> <view id="demo1" class="scroll-view-item_H demo-text-1"></vi

  • 微信小程序中input标签详解及简单实例

    微信小程序中input标签详解及简单实例 使用input标签,我们都会,在微信小程序中使用,必定也是可以一下子就会的,但是却有些常用的属性无法按照习惯去使用: 我就用我最常用的来做例子: 一个一个来解读: 首先,我是定义了他的id,这是我们最常用的,所以就配了一个id,毕竟不操作他,又为什么设成输入框呢, 第二,设置他的样式, 第三,设置他的输入类别,以上都是很简单的 第四.使用正则l:哎限定输入为纯数字.这点可能有点不理解,这是对他的keyup事件监听,将不是纯数字的list无视掉.注意,是对

  • 微信小程序使用input组件实现密码框功能【附源码下载】

    本文实例讲述了微信小程序使用input组件实现密码框功能.分享给大家供大家参考,具体如下: 1.效果展示 2.关键代码 index.wxml <view style="width:80%; display:flex;"> <view>用户名:</view> <input style="border: 1px solid;border-color: lightblue;width:60%;" placeholder="

  • 解决微信小程序中的滚动穿透问题

    Mask-Scroll > 原码地址 * 蒙层防穿透问题 > 蒙层穿透就是,当你用fixed 布局让蒙层显示的时候, 手指滑动屏幕会出现底部内容也滑动的现象. 如图: 当蒙层出现的时候,你滚动屏幕,底部内容也一起跟着滚动. 这就是蒙层穿透, 也可以叫 '滚动穿透'. 当然出现这种情况, 用户体验当然是不好的了. 所以作为一个有点追求的工程师当然是不允许这种情况的发生了(手动狗头...) ## 解决方案 这种要分情况, 当蒙层没有滚动条的时候. 当蒙层出现滚动条的时候 1. 当弹窗没有滚动条的时

  • 解决微信小程序调用moveToLocation失效问题【超简单】

    上图所示,mapUpdated表示地图加载完成后,再初始化数据. 为什么moveToLocation失败? 第一:可能你的ID取错了: 第二:调用moveToLocation时,必须需要调用wx.getLocation,并且用户授权后,才能使用moveToLocation方法 总结 以上所述是小编给大家介绍的解决微信小程序调用moveToLocation失效问题[超简单],希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持! 如果你觉得本文

  • 解决微信小程序防止无法回到主页的问题

    [小程序]提交订单页面到订单详情页面,如何防止无法回到主页 问题场景: 小程序某个页面完成后,希望跳转到另一个相关页面. 比如,订单提交完成后,希望跳转到订单详情页面,可选的方案有两个 A 使用 wx.navigateTo 跳转到非 tabBar 页面 优点是有返回按钮,可以一步一步的返回到主页 缺点是用户体验很差,还有可能重复发布订单 B使用 wx.redirectTo跳转到非 tabBar 页面 优点是,不会返回旧页面 缺点是,无法返回主页,造成死循环 解决办法 1.使用 wx.reLaun

随机推荐