欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

详解微信小程序文本框(label/input)、按钮(button)用法,以登陆界面为例

程序员文章站 2022-05-30 08:35:38
...

一个很简单的功能实现,先看效果界面。
详解微信小程序文本框(label/input)、按钮(button)用法,以登陆界面为例

小程序初始界面如1,输入用户名“你是大坏蛋”,密码“wocaibushine”,点击登录效果如2所示,点击重置,效果如3所示。
新建一个小程序,建立普通快速启动模板。
所有东西都不用动,
pages/index/index.wxml代码用如下的替换:

<form bindsubmit="formBindsubmit" bindreset="formReset">
  <view style="display:flex;">
    <label>用户名:</label>
    <input name="userName" placeholder="请输入用户名!" />
  </view>
  <view style="display:flex;">
    <label>密码:</label>
    <input name="psw" placeholder="请输入密码!" password="true" />
  </view>
  <view style="display:flex;margin-top:30px;">
    <button style="width:30%;" formType="submit" >登录</button>
    <button style="width:30%" formType="reset" >重置</button>
  </view>
</form>
<view>{{tip}}</view>
<view>{{userName}}</view>
<view>{{psw}}</view>

pages/index/index.js代码用如下的替换:

Page({
  data: {
    // text:"这是一个页面"
    tip: '测试',
    userName: '用户名:',
    psw: '密码:'
  },
  formBindsubmit: function (e) {
    this.setData({
      tip: '结果',
      userName: '用户名:' + e.detail.value.userName,
      psw: '密码:' + e.detail.value.psw
    })
  },
  formReset: function () {
    this.setData({
      tip: '清空了',
      userName: '君不见',
      psw: '黄河之水天上来'
    })
  }
})

分析一下这两个代码。
首先是wxml,第一行,因为文本框input和按钮button都是放在了表单(form)中,所以这个首行代码几乎是固定的了。

<form bindsubmit="formBindsubmit" bindreset="formReset">

bindsubmit,数据触发,bindreset表单重置。
style=”display:flex;,一行多列,把这个删掉,“用户名:”和“请输入用户名”就是两行。
password,true是隐藏密码,false是不隐藏密码。
margin-top,对象上面空出多少,30px。
formType:点击button的时候触发form组件中的事件,只有两个有效值,要么submit,要么reset。
所以说,button和input在form组件中,用法固定而单一,代码都没有什么变量。
最后,”“调用的是函数,{{}}引用的是值。

再说js文件。
代码都要写在page({})中。
data:{}给个初始化的值。
this.Data({})这也是个固定的,定义函数更新data的数据。
数据结构是json格式的。
formBindsubmit: function (e){}:定义表单中的submit函数,提交表单。
formReset: function () {}:定义表单中的reset函数,重置表单。


小程序中input和button的用法挺固定的,照着源码化用就行了。

input和button在小程序中归为表单组件。
input的官方文档
https://mp.weixin.qq.com/debug/wxadoc/dev/component/input.html
button的官方文档,放在了表单组件里了,
https://mp.weixin.qq.com/debug/wxadoc/dev/component/button.html