微信小程序的动态表单,实现房屋租赁的多租客录入(一)

简介: 微信小程序的动态表单,实现房屋租赁的多租客录入

前言

本文将介绍如何使用微信小程序编写动态表单,最终实现房屋租赁系统多租客录入的业务。

在阅读本文前,您需要对微信小程序的开发有一个初步的了解,以便更容易的学会开发动态表单




1 什么是表单

表单是一种数据采集工具,可以用来收集或呈现数据或者特定字段,可运用到不同的业务场景中,如调查问卷等。

简单来说,表单就是收集用户数据的主要方式,通过在线采集信息并且一键生成想要的数据,如下图所示。

还有一个概念是表格,表格和表单有着一定的区别和联系。

  • 表单:主要用于搜集信息。
  • 表格:主要用来存放数据。

当然还有更加花里胡哨的表单,一些主流的组件库都支持单选框、多选框、下拉选择框、开关、滑块等表单组件,如下图所示。

2 何为动态表单

动态表单顾名思义就是动态的表单,也就是表单的个数不是固定的,而是由具体的业务去决定。

比如对于一个房屋租赁系统,在登记某个房间的租客数据时,甲方往往会要求在一个界面中完成所有租客数据的登记,如下图所示。

用户添加完成主租客后,还需要录入从租客的数据,并且从租客的数量不固定

我们点击了“新增从租客”按钮,系统自动渲染出一个子表单界面,如下图所示。

再次点击,继续新增,如下图所示。

再次点击,继续新增,如下图所示。

如果添加多了,还需要可以点击每一个子表单的删除按钮,实现局部删除,如下图所示。


3 动态表单的实现

实现上面介绍的动态表单,总体来说分为以下三个步骤

  • 编写添加按钮
  • 编写一个子表单
  • 使用 wx:for 语法实现循环渲染
  • 表单提交

接下来我们逐一讲解。


3.1 编写添加按钮

第一步非常简单,新建一个按钮即可,界面代码如下所示。

<button type="primary" bindtap="addCongItem" class='weui-btn weui-btn_primary'>新增从租客</button>

在实现动态表单之前首先建立一个数组变量,如下所示。

const app = getApp();
Page({
    data: {
        congList: []
    },
})

点击按钮后,我们需要初始化一个子表单界面,也就是 new 一个 item 子项,其中表单的房间 ID、起租时日期、终止日期要被初始化,如下所示。

addCongItem() {
    var newDate = new Date();
    var item = {
        lesseeName: "",
        lesseeMobile: "",
        lesseeCard: "",
        photo: "",
        registerDate: newDate.getFullYear() + "-" + (newDate.getMonth() < 9 ? "0" + (newDate.getMonth() + 1) : (newDate.getMonth() + 1)) + "-" + (newDate.getDate() < 10 ? "0" + newDate.getDate() : newDate.getDate()),
        outDate: (newDate.getFullYear() + 1) + "-" + (newDate.getMonth() < 9 ? "0" + (newDate.getMonth() + 1) : (newDate.getMonth() + 1)) + "-" + (newDate.getDate() < 10 ? "0" + newDate.getDate() : newDate.getDate()),
        roomId: JSON.parse(app.data.addRoomObj)
    };
    var list = this.data.congList;
    list.push(item);
    this.setData({
        congList: list
    })
    console.log(this.data.congList);
},



相关文章
|
5月前
|
小程序 数据库
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
184 0
|
5月前
|
小程序 API 数据库
【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)
【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)
86 0
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的高校汉服租赁网站附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的高校汉服租赁网站附带文章源码部署视频讲解等
48 0
|
3月前
详细教程:扫码提交表单后,数据直接推送到企业微信、钉钉、飞书群聊
在草料制作的表单中,填表人扫码填写并提交数据后,这些信息可以立即通过企业微信、钉钉或飞书自动推送到相应的群聊中,实现即时共享和沟通,提升团队协作效率。
|
5月前
|
小程序
仓库租赁小程序手机模板
手机微信在线仓库租赁下单,保险箱仓库管理小程序网页模板。包含:仓库主页、使用方法、我的物品、个人中心、查看详情、修改寄件信息、地址、我的余额、实名认证、意见反馈等等模块页面。
48 0
仓库租赁小程序手机模板
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的民宿租赁系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的民宿租赁系统附带文章源码部署视频讲解等
66 11
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的汽车租赁管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的汽车租赁管理系统附带文章源码部署视频讲解等
39 0
|
5月前
|
小程序 C++
【微信小程序-原生开发】实用教程19 - 表单范例 VS 表单校验(含必填校验函数封装,实时数字校验)
【微信小程序-原生开发】实用教程19 - 表单范例 VS 表单校验(含必填校验函数封装,实时数字校验)
98 0
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的玩具租赁系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的玩具租赁系统附带文章源码部署视频讲解等
55 0
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的农业设备租赁系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的农业设备租赁系统附带文章源码部署视频讲解等
51 0