微信小程序> 微信小程序——表单

微信小程序——表单

浏览量:491 时间: 来源:baimuqiao

微信小程序的表单和web的表单很相似,如代码所示:

<from bindsubmit="formSubmit" bindreset="formReset">  <text>联系人</text>  <input vlaue="白木乔" ></input>  <radio-group>  <radio wx:for="{{items}}"></radio>  </radio-group>  <text>手机号</text>  <input password='true'></input>  <text>评价</text>  <textarea placeholder="请给我们的服务提出宝贵的意见" name="textarea"/>  <button form-type="submit"> 提交 </button></from>

这是一个非常简单并且常用的一个表单形式,由<from/>表单,<input/>输入框,<radio/>单选框,<textarea/>多行输入框,<button/>按钮 ,除此之外,表单中还通常会用到<checkbox/>复选框,<picker/>从底部弹起的滚动选择器,<pick-view/>嵌入页面的滚动选择器,<slider/>滑动选择器,<switch/>开关选择器 等一些组件。这些都是很容易上手的组件,重点是通过wxss样式能让他们更加好看。

除了上面介绍的一些关于表单的组件,还有一个组件是<label/>,下面重点介绍一下:

<label/>是用来改进表单组件的可用性,使用for属性找到对应的id,或者将控件放在该标签下,当点击时,就会触发对应的控件。

for优先级高于内部控件,内部有多个控件的时候默认触发第一个控件。

目前可以绑定的控件有:<button/>, <checkbox/>, <radio/>, <switch/>

给个例子很容易理解

<view class="section section_gap"><view class="section__title">复选框</view><checkbox-group class="group" bindchange="checkboxChange">  <view class="label-1" wx:for="{{checkboxItems}}">    <label>      <checkbox hidden value="{{item.name}}" checked="{{item.checked}}"></checkbox>      <view class="label-1__icon">        <view class="label-1__icon-checked" style="opacity:{{item.checked ? 1: 0}}"></view>      </view>      <text class="label-1__text">{{item.value}}</text>    </label>  </view></checkbox-group></view><view class="section section_gap"><view class="section__title">单选框</view><radio-group class="group" bindchange="radioChange">  <view class="label-2" wx:for="{{radioItems}}">    <radio id="{{item.name}}" hidden value="{{item.name}}" checked="{{item.checked}}"></radio>    <view class="label-2__icon">      <view class="label-2__icon-checked" style="opacity:{{item.checked ? 1: 0}}"></view>    </view>    <label class="label-2__text" for="{{item.name}}"><text>{{item.name}}</text></label>  </view></radio-group></view>

.js

Page({  data: {    checkboxItems: [      {name: 'USA', value: '美国'},      {name: 'CHN', value: '中国', checked: 'true'},      {name: 'BRA', value: '巴西'},      {name: 'JPN', value: '日本', checked: 'true'},      {name: 'ENG', value: '英国'},      {name: 'TUR', value: '法国'},    ],    radioItems: [      {name: 'USA', value: '美国'},      {name: 'CHN', value: '中国', checked: 'true'},      {name: 'BRA', value: '巴西'},      {name: 'JPN', value: '日本'},      {name: 'ENG', value: '英国'},      {name: 'TUR', value: '法国'},    ],    hidden: false  },  checkboxChange: function(e) {    var checked = e.detail.value    var changed = {}    for (var i = 0; i < this.data.checkboxItems.length; i ++) {      if (checked.indexOf(this.data.checkboxItems[i].name) !== -1) {        changed['checkboxItems['+i+'].checked'] = true      } else {        changed['checkboxItems['+i+'].checked'] = false      }    }    this.setData(changed)  },  radioChange: function(e) {    var checked = e.detail.value    var changed = {}    for (var i = 0; i < this.data.radioItems.length; i ++) {      if (checked.indexOf(this.data.radioItems[i].name) !== -1) {        changed['radioItems['+i+'].checked'] = true      } else {        changed['radioItems['+i+'].checked'] = false      }    }    this.setData(changed)  }})


微信小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎