codecamp

form

基础库 1.0.0 开始支持本组件。

表单,将组件内的用户输入的 switch input checkbox slider radio picker 提交。

当点击 form 表单中 formType 为 submit 的 button 组件时,会将表单组件中的 value 值进行提交,需要在表单组件中加上 name 来作为 key。


属性说明

属性名类型默认值必填说明最低版本
bindsubmiteventhandle携带 form 中的数据触发 submit 事件,event.detail = {value : {'name': 'value'} , formId: '', ...}1.0.0
bindreseteventhandle表单重置时会触发 reset 事件1.0.0
report-submitbooleanfalse是否返回 formId 用于发送模板消息1.29.0
report-submit-timeoutnumber0等待一段时间(毫秒数)以确认 formId 是否生效。如果未指定这个参数,formId 有很小的概率是无效的(如遇到网络失败的情况)。指定这个参数将可以检测 formId 是否有效,以这个参数的时间作为这项检测的超时时间。如果失败,将返回 requestFormId:fail 开头的 formId1.29.0


效果示例


代码示例

<view class="container">
  <view class="page-body">
    <form catchsubmit="formSubmit" catchreset="formReset">
      <view class="page-section page-section-gap">
        <view class="page-section-title">switch</view>
        <switch name="switch" />
      </view>

      <view class="page-section page-section-gap">
        <view class="page-section-title">radio</view>
        <radio-group name="radio">
          <label><radio value="radio1" />选项一</label>
          <label><radio value="radio2" />选项二</label>
        </radio-group>
      </view>

      <view class="page-section page-section-gap">
        <view class="page-section-title">checkbox</view>
        <checkbox-group name="checkbox">
          <label><checkbox value="checkbox1" />选项一</label>
          <label><checkbox value="checkbox2" />选项二</label>
        </checkbox-group>
      </view>

      <view class="page-section page-section-gap">
        <view class="page-section-title">slider</view>
        <slider value="50" name="slider" show-value></slider>
      </view>

      <view class="page-section">
        <view class="page-section-title">input</view>
        <view class="page-cells page-cells_after-title">
          <view class="page-cell page-cell_input">
            <view class="page-cell__bd">
              <input
                class="page-input"
                name="input"
                placeholder="这是一个输入框"
              />
            </view>
          </view>
        </view>
      </view>

      <view class="btn-area">
        <button type="primary" formType="submit">提交</button>
        <button formType="reset">重设</button>
      </view>
    </form>
  </view>
</view>
Page({
  data: {
    pickerHidden: true,
    chosen: ""
  },
  pickerConfirm: function(e) {
    this.setData({
      pickerHidden: true
    });
    this.setData({
      chosen: e.detail.value
    });
  },
  pickerCancel: function(e) {
    this.setData({
      pickerHidden: true
    });
  },
  pickerShow: function(e) {
    this.setData({
      pickerHidden: false
    });
  },
  formSubmit: function(e) {
    console.log("form发生了submit事件,携带数据为:", e.detail.value);
  },
  formReset: function(e) {
    console.log("form发生了reset事件,携带数据为:", e.detail.value);
    this.setData({
      chosen: ""
    });
  }
});


checkbox-group
input
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

字节跳动小程序 介绍

字节跳动小程序 开发

字节跳动小程序开发框架

字节跳动小程序开发框架基础说明

字节跳动小程序开发框架基础功能

字节跳动小程序开发框架逻辑层

无标题文章

无标题目录

API

无标题文章

无标题文章

无标题文章

无标题文章

无标题文章

无标题目录

无标题目录

无标题文章

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }