1、常用表单组件

1.1 button

<button>为按钮组件,是常用的表单组件之一,用于事件的触发以及表单的提交。其属性表如下所示。

image-20220316230043016

代码示例:

<view class="demo-box">
  <view class="title">7.button小案例</view>
  <view class="title">(1)迷你按钮</view>
  <button size="mini" type="primary">主要按钮</button>
  <button size="mini" type="default">次要按钮</button>
  <button size="mini" type="warn">警告按钮</button>
  <view class="title">(2)按钮状态</view>
  <button>普通按钮</button>
  <button disabled>警用按钮</button>
  <button loading>加载按钮</button>
  <view class="title">(3)增加按钮事件</view>
  <button bindgetuserinfo="getUserDetail" open-type="getUserInfo">点我获取用户信息</button>
</view>

image-20220316230647877

1.2 checkbox

<checkbox>为复选框组件,常用于在表单中进行多项数据的选择。复选框的<checkbox-group>为父控件,其内部嵌套若干个<checkbox>子控件。

<checkbox-group>属性如下:

image-20220316230921345

<checkbox>组件的属性如下:

image-20220316230938489

代码示例:

checkbox.wxml

<view class="demo-box">
  <view class="title">8.checkbox小案例</view>
  <view class="title">利用for循环批量生成</view>
  <checkbox-group bindchange="checkboxChange">
    <label wx:for="{{items}}">
      <checkbox value="{{item.name}}" checked="{{item.checked}}" />{{item.value}}
    </label>
  </checkbox-group>
</view>

checkbox.js

Page({
  data: {
    items: [
      { name: "tiger", value: "老虎" },
      { name: "elephant", value: "大象" },
      { name: "lion", value: "狮子", checked: "true" },
      { name: "penguin", value: "企鹅" },
      { name: "elk", value: "麋鹿" },
      { name: "swan", value: "天鹅" },
    ]
  },
  checkboxChange:function(e) {
    console.log("checkbox发生change事件,携带value值为:", e.detail.value)
  }
})

image-20220316231231567

1.3 input

<input>为输入框组件,常用于文本(如姓名、年龄等信息)的输入。属性表如下:

image-20220316231356590

<view class="demo-box">
  <view class="title">9.input小案例</view>
  <view class="title">(1)文字输入框</view>
  <input type="text" maxlength="10" placeholder="这里最多只能输入10个字" />
  <view class="title">(2)密码输入框</view>
  <input type="password" placeholder="请输入密码"/>
  <view class="title">(3)禁用输入框</view>
  <input disabled placeholder="该输入框已经被禁用"/>
  <view class="title">(4)为输入框增加事件监听</view>
  <input bindinput="getInput" bindblur="getBlur" placeholder="这里输入的内容将会被监听"/>
</view>

image-20220316231738656

1.4 label

<label>是标签组件,不会呈现任何效果,但是可以用来改进表单组件的可用性。当用户在label元素内点击文本时,就会触发此控件,即当用户选择该标签时,事件会传递到和标签相关的表单控件上,可以使用for属性绑定id,也可以将空间放在该标签内部,该组件对应属性如下所示。

image-20220316231948513

wxml

<view class="demo-box">
  <view class="title">10.lable小案例</view>
  <view class="title">(1)利用for属性</view>
  <checkbox-group>
    <checkbox id="tiger" checked />
    <label for="tiger">老虎</label>
    <checkbox id="elephant" />
    <label for="elephant">大象</label>
    <checkbox id="lion" />
    <label for="lion">狮子</label>
  </checkbox-group>
  <view class="title">(2)label包裹组件</view>
  <checkbox-group>
    <label>
      <checkbox checked />老虎
    </label>
    <label>
      <checkbox/>大象
    </label>
    <label>
      <checkbox/>狮子
    </label>
  </checkbox-group>
</view>

1.5 form

<form>为表单控件组件,用于提交表单组件中的内容。<form>控件组件内部可以嵌套多种组件。

组件属性如下:

image-20220316232327454

form.wxml

<view class="demo-box">
  <view class="title">11.form小案例</view>
  <view class="title">模拟注册功能</view>
  <form bindsubmit="onSubmit" bindreset="onReset">
    <text>用户名:</text>
    <input name="username" type="text" placeholder="请输入你的用户名"></input>
    <text>密码:</text>
    <input name="password" type="password" placeholder="请输入你的密码"></input>
    <text>手机号:</text>
    <input name="phonenumber" type="password" placeholder="请输入你的手机号"></input>
    <text>验证码:</text>
    <input name="code" type="password" placeholder="请输入验证码"></input>
    <button form-type="submit">注册</button>
    <button form-type="reset">重置</button>
  </form>
</view>

form.js

Page({
  onSubmit(e) {
    console.log("form发生了submit事件,携带数据为:")
    console.log(e.detail.value)
  },
  onReset() {
    console.log("form发生了reset事件,表单已被重置")
  }
})

输入测试数据后点击注册按钮触发表单提交事件。

image-20220316232522849

1.6 radio

<radio>为单选框组件,往往需配合<radio-group>组件来使用,<radio>标签嵌套在<radio-group>当中。

<radio-group>组件属性如下:

image-20220316232712336

<radio>组件属性如下:

image-20220316232729258

radio.wxml

<view class="demo-box">
  <view class="title">14.radio小案例</view>
  <view class="title">利用for循环批量生成</view>
  <radio-group bindchange="radioChange">
    <block wx:for="{{radioItems}}">
      <radio value="{{item.name}}" checked="{{item.checked}}" />{{item.value}}
    </block>
  </radio-group>
</view>

radio.js

Page({
  data: {
    radioItems: [
      { name: 'tiger', value: '老虎' },
      { name: 'elephant', value: '大象' },
      { name: 'lion', value: '狮子', checked: 'true' },
      { name: 'penguin', value: '企鹅' },
      { name: 'elk', value: '麋鹿' },
      { name: 'swan', value: '天鹅' },
    ]
  },
  radioChange:function(e) {
    console.log("radio发生change事件,携带value值为:", e.detail.value)
  }
})

image-20220316232846608

1.7 slider

<slider>为滑动选择器,用于可视化地动态改变某变量地取值。属性表如下:

image-20220316232948144

slider.wxml

<view class="demo-box">
  <view class="title">15.slider小案例</view>
  <view class="title">(1)滑动条右侧显示当前进度值</view>
  <slider min="0" max="100" value="30" show-value />
  <view class="title">(2)自定义滑动条颜色与滑块样式</view>
  <slider min="0" max="100" value="30" block-size="20" block-color="gray" activeColor="skyblue" />
  <view class="title">(3)禁用滑动条</view>
  <slider disabled />
  <view class="title">(4)增加滑动条监听事件</view>
  <slider min="0" max="100" value="30" bindchange="sliderChange" />
</view>

image-20220316233102160

1.8 switch

<switch>为开关选择器,常用于表单上地开关功能,属性表如下所示。

image-20220316233202175

switch.wxml

<view class="demo-box">
  <view class="title">16.switch小案例</view>
  <view class="title">增加switch事件监听</view>
  <switch checked bindchange="switch1Change"></switch>
  <switch bindchange="switch2Change"></switch>
</view>

image-20220316233254798

1.9 textarea

<textarea>为多行输入框,常用于多行文字的输入。

2、实训小案例–问卷调查

survey.wxml

<view class="content">
  <form bindsubmit="onSubmit" bindreset="onReset">
    <view class="title">1.你现在大几?</view>
    <radio-group bindchange="universityChange">
      <radio value="大一"/>大一
      <radio value="大二"/>大二
      <radio value="大三"/>大三
      <radio value="大四"/>大四
    </radio-group>

    <view class="title">2.你使用手机最大的用途是什么?</view>
    <checkbox-group bindchange="mobilChange">
      <label><checkbox value="社交"/>社交</label>
      <label>
        <checkbox value="购物"/>网购</label>
      <label>
        <checkbox value="学习"/>学习</label><label>
        <checkbox value="其他"/>其他</label>

    </checkbox-group>
    <view class="title">3.平时每天使用手机多少小时?</view>
    <slider min="0" max="24" show-value bindchange="timechange" />

     <view class="title">4.你之前有使用过微信小程序吗?</view>
    <radio-group bindchange="programChange">
      <radio value="无"/>无
      <radio value="有"/>有
    </radio-group>

    <view class="title">5.谈谈你对微信小程序未来发展的看法</view>
    <textarea auto-height placeholder="请输入你的看法" name="textarea" />
    <button size="mini" form-type="submit">提交</button>
    <button size="mini" form-type="reset">重置</button>
  </form>
</view>

survey.js

Page({
  universityChange: function (e) {
    console.log("你选择的现在大几:", e.detail.value)
  },

  mobilChange: function (e) {
    console.log("你选择使用手机的最大用途是:", e.detail.value)
  },


  timechange: function (e) {
    console.log("你选择的每天使用手机的时间是:", e.detail.value   "小时")
  },

  programChange: function (e) {
    console.log("你选择的是否使用过微信小程序:", e.detail.value)
  },
 
 
  onSubmit(e) {
    console.log("你输入的对小程序发展前途的看法是:" e.detail.value.textarea)

  },
  onReset() {
    console.log("表单已被重置")
  }
})

image-20220316233832751

更多内容请参考微信官方文档

以上就是微信小程序常用表单组件的使用详解的详细内容,更多关于小程序表单组件的资料请关注Devmax其它相关文章!

微信小程序常用表单组件的使用详解的更多相关文章

  1. 微信小程序“圣诞帽”的实现思路详解

    这两天朋友圈被圣诞帽刷屏,下面通过本文给大家分享微信小程序“圣诞帽”的实现思路详解,需要的朋友参考下吧

  2. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

  3. 小程序实现图片裁剪上传

    这篇文章主要为大家详细介绍了小程序实现图片裁剪上传,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  4. Yii框架表单提交验证功能分析

    这篇文章主要介绍了Yii框架表单提交验证功能,结合实例形式分析了Yii框架表单提交验证功能的用法与相关注意事项,需要的朋友可以参考下

  5. Android ListView UI组件使用说明

    这篇文章主要介绍了Android ListView UI组件使用说明,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  6. Flutter 首页必用组件NestedScrollView的示例详解

    今天介绍的组件是NestedScrollView,大部分的App首页都会用到这个组件。对Flutter 首页必用组件NestedScrollView的相关知识感兴趣的一起看看吧

  7. React进阶学习之组件的解耦之道

    这篇文章主要给大家介绍了关于React进阶之组件的解耦之道,文中通过详细的示例代码给大家介绍了组件分割与解耦的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。

  8. 使用Vant框架list组件遇到的坑及解决

    这篇文章主要介绍了使用Vant框架list组件遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  9. vue实现自定义组件挂载原型上

    这篇文章主要介绍了vue实现自定义组件挂载原型上方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  10. Vue组件如何设置Props实例详解

    props主要用于组件的传值,他的工作就是为了接收外面传过来的数据,与data、el、ref是一个级别的配置项,下面这篇文章主要给大家介绍了关于Vue组件如何设置Props的相关资料,需要的朋友可以参考下

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部