当前位置:   article > 正文

微信小程序开发—(十四)表单组件1_小程序 wxml 好看的表单开源

小程序 wxml 好看的表单开源

一.小知识
1.表单,将组件内的用户输入的<switch/> <input/> <checkbox/> <slider/> <radio/> <picker/> 提交。当点击 <form/> 表单中 formType 为 submit 的 <button/> 组件时,会将表单组件中的 value 值进行提交,需要在表单组件中加上 name 来作为 key。


  1. <form bindsubmit="formSubmit" bindreset="formReset" class="formstyle">
  2. </form>

2.picker

从底部弹起的滚动选择器,现支持三种选择器,通过mode来区分,分别是普通选择器,时间选择器,日期选择器,默认是普通选择器。


3.label:用来改进表单组件的可用性,使用for属性找到对应的id,或者将控件放在该标签下,当点击时,就会触发对应的控件。for优先级高于内部控件,内部有多个控件的时候默认触发第一个控件。目前可以绑定的控件有:<button/><checkbox/><radio/><switch/>

二.列子

index.wxml

  1. <form bindsubmit="formSubmit" bindreset="formReset">
  2. <view class="section">
  3. <view class="section__title">姓名:</view>
  4. <input name="name" placeholder="请输入姓名" maxlength="12" type="text" focus="false" class="section__iput"/>
  5. </view>
  6. <view class="section">
  7. <view class="section__title">密码:</view>
  8. <input placeholder="请输入您的密码" password="true" maxlength="12" type="text" focus="false" class="section__iput"/>
  9. </view>
  10. <view class="section section_gap">
  11. <view class="section__title">性别:</view>
  12. <radio-group name="radio-group">
  13. <label><radio value="radio1"/></label>
  14. <label><radio value="radio2"/></label>
  15. </radio-group>
  16. </view>
  17. <view class="section section_gap">
  18. <view class="section__title">兴趣:</view>
  19. <checkbox-group name="checkbox">
  20. <label><checkbox value="吃"/></label>
  21. <label><checkbox value="玩"/></label>
  22. </checkbox-group>
  23. </view>
  24. <view class="section">
  25. <view class="section__title">日期:</view>
  26. <picker mode="date" value="{{date}}" start="2015-09-01" end="2017-09-01" bindchange="bindDateChange" class="section__iput">
  27. <view class="picker">
  28. {{date}}
  29. </view>
  30. </picker>
  31. </view>
  32. <view class="section section_gap">
  33. <view class="section__title">开关</view>
  34. <switch name="switch"/>
  35. </view>
  36. <view class="section">
  37. <view class="section__title">留言:</view>
  38. <textarea auto-height placeholder="请输入内容" />
  39. </view>
  40. <view class="btn-area">
  41. <button formType="submit" type="primary">Submit</button>
  42. <button formType="reset" type="default">Reset</button>
  43. </view>
  44. </form>
2.index.wxss

  1. .section{
  2. margin:10px 20px;
  3. display:flex;
  4. border-bottom:1px solid #ccc;
  5. padding:15px 0;
  6. }
  7. .section__title{
  8. width:30%;
  9. }
  10. .section__iput{
  11. width:70%;
  12. line-height:25px;
  13. border:1px solid #ccc;
  14. }
  15. .btn-area{
  16. display:flex;
  17. justify-content:center;
  18. margin:20px;
  19. }
  20. .btn-area button{
  21. width:40%;
  22. }
3.index.js

  1. var app = getApp()
  2. Page({
  3. data: {
  4. date: '2016-09-01',
  5. },
  6. //日期
  7. bindDateChange: function(e) {
  8. this.setData({
  9. date: e.detail.value
  10. })
  11. },
  12. //提交
  13. formSubmit: function(e) {
  14. console.log('form发生了submit事件,携带数据为:', e.detail.value)
  15. },
  16. //重置
  17. formReset: function() {
  18. console.log('form发生了reset事件')
  19. }
  20. })





声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/233812
推荐阅读
相关标签
  

闽ICP备14008679号