微搭使用笔记(四) 通过循环展示组件+json配置生成表单及数据获取

news2024/11/28 12:51:30

背景及整体思路

上篇文章我们通过微搭提供的数据模型完成了问卷表单页面的创建和数据采集,相对来说除了数据模型配置略显复杂外其他的倒还算方便。

本文我们通过for循环加上json文件配置的方式实现一个通用表单页面,如果更换了表单只需要替换掉json配置文件即可实现页面生成和数据收集。这里只是提供一种思路,希望能够帮助到各位。

还是以问卷调查举例,一般的问卷调查都会包含文本输入、文本域输入、单选、多选、地域选择等常见形式,整体思路就是配置一个json文件,这个json里会包含组件字段、组件类型、组件选项配置(包含key、value,针对单选、多选),json大致格式如下:

[
    {
        type: 1, // 1 文本输入 2 文本域输入 3 单选 4 多选 5 地域选择 6 其他扩展组件,如电话、邮箱等自行扩展
        key: 'name', //提交时的字段
        options: [
            {
                label: '男',
                value: '1'
            }{
                label: '女',
                value: '2'
            }
        ]
	}
]

页面上通过for循环遍历这个json,然后根据类型type字段展示对应组件,提交时根据key字段组装数据,本文的目标就是根据这个配置文件生成表单页面,同时能正确输出表单数据到控制台。

新建应用

​ 微搭控制台新建应用,选择自定义应用,如果已经有应用也可直接使用。

新建页面

  1. 拖入表单组件,表单组件里拖入一个循环展示组件,如下图:

加入表单组件
2. 循环展示组件中添加文本输入、文本域输入、单选、多选、地域选择组件
加入基础组件
右侧的布局方式是可以切换的,水平或者垂直,根据个人喜好自行调整。

页面配置及验证

  1. 新建变量,输入json字符串

    新增变量
    输入json配置字符串
    示例json字符串如下:

    [{
    		type: 1,
    		key: 'name',
    		title: '姓名',
    		options: []
    	},
    	{
    		type: 3,
    		key: 'sex',
    		title: '性别',
    		options: [{
    			label: '男',
    			value: '1'
    		}, {
    			label: '女',
    			value: '2'
    		}]
    	},
    	{
    		type: 5,
    		key: 'region',
    		title: '所属区域',
    		options: []
    	},
    	{
    		type: 4,
    		key: 'check',
    		title: '出现心理问题时,您会选择',
    		options: [{
    			label: '寻求父母老师的帮助',
    			value: '1'
    		}, {
    			label: '向朋友同学倾诉',
    			value: '2'
    		}, {
    			label: '寻求专业的心理医生帮助',
    			value: '3'
    		}, {
    			label: '向学校心理咨询室咨询',
    			value: '4'
    		}, {
    			label: '暴力发泄(如摔东西、打架等)',
    			value: '5'
    		}, {
    			label: '自我消化,不告诉任何人',
    			value: '6'
    		}, {
    			label: '其他',
    			value: '7'
    		}]
    	},
    	{
    		type: 2, // 1 文本输入 2 文本域输入 3 单选 4 多选 5 地域选择 6 其他扩展组件,如电话、邮箱等自行扩展
    		key: 'others', //提交时的字段
    		title: '您还有其他的什么诉求',
    		options: []
    	}
    ]
    
  2. 循环组件配置关联json

    页面上点击循环组件添加如下配置并点击保存:

循环组件配置
继续点击循环展示下的组件,做字段绑定和展示配置关联配置,如下图:

字段绑定
配置组件展示和隐藏的条件,如下图:

组件展示和隐藏的条件配置
PS: 这里的表达式等号右侧应该是数字,截图中有问题

单选、多选的配置也是类似的,单选最终绑定结果:
单选绑定1
单选绑定2
绑定后的效果
3. 表单展示验证

​ 页面上查看预览图,可以看到组件都可以正常显示且能正常操作。

预览图查看效果
至此就完成了页面展示部分的内容开发。

接下来就是收集数据,目标是能按照我们设置的字段并赋值选中项或者输入值。

添加按钮收集数据

表单容器中添加按钮组件,配置如下:
添加按钮组件
按钮添加点击事件,选择组件内置方法,然后选择表单组件的提交方法,如下图:
按钮添加点击事件
接下来给表单容器绑定提交事件,如下图:
表单容器绑定事件
可以看到我们在表单容器的提交事件中绑定了自定义方法handleSubmit,该方法中只是做了简单的打印。

我们通过页面填入信息,然后点击提交,观察控制台输出:
最终效果查看
可以看到数据是可以正常输出到控制台的,有了这部分数据就可以提交到自己的远端接口或者weda的数据源里了。

到此本文的内容就结束了。如前文所述,本文只是针对表单生成提供了一种思路,如果大家有更好的建议或者意见欢迎评论区指出~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/364230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

stm32 VM8978 音乐播放

一、WAV文件 1、WAV文件简介 2、WAV文件的解析 二、WM8978 1、WM8978介绍 2、WM8978特点 3、WM8978接口 4、WM8978框架 5、 WM8978 寄存器 三、IIS详解 1、IIS介绍 2、 IIS 的特点 3、IIS框架 4、 音频协议 5、 IIS Philips 标准 6、 IIS 时钟 四、音乐播放硬件…

力扣-删除重复的电子邮箱

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:196. 删除重复的电子邮箱二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其…

2.22Linux系统搭建

一.搭建Linux运行环境需要部署Java程序到服务器上,这样程序才能被外面的用户访问到1.安装jdkyum install develop x86_642.安装tomcat1)下载好,通过xshell直接拖到服务器上,依赖了rz命令2)解压缩unzip命令3)使.sh都有可执行权限chmod x *.sh4)启动 sh startup.sh5) 验证 ①ps a…

MAC配置pycharm

Mac配置pycharm 恢复出厂配置 # configuration rm -rf ~/library/preferences/JetBrains/ # caches rm -rf ~/library/caches/JetBrains/ # plugins rm -rf ~/library/application support/JetBrains/ # logs rm -rf ~/library/logs/JetBrains/文件头部 Python #!/usr/bin/e…

Mind+Python+Mediapipe项目——AI健身之跳绳

原文:MindPythonMediapipe项目——AI健身之跳绳 - DF创客社区 - 分享创造的喜悦 【项目背景】跳绳是一个很好的健身项目,为了获知所跳个数,有的跳绳上会有计数器。但这也只能跳完这后看到,能不能在跳的过程中就能看到,…

【Linux】virtualbox获取虚拟机串口日志方法,值得收藏

环境 宿主机:redhat 7.8 virtualbox :6.1.10 虚拟机:UOS 1050u1a x86 一、virtualbox设置 在串口栏中勾选 []启用串口 端口编号选择COM1 端口模式选择裸文件 Port/File Path: 填上 /tmp/box 也就是说我们在宿主机器的/tmp/中创建了vbox的…

C语言知识总结

" "和’ 的比较 " "视为字符串,且编译器在后面自动加上’\0’ 则视为单个字符,整型 1、本质区别 双引号里面的是字符串, 而单引号里面的代表字符。 2、输出区别 str “a”输出的就是a这个字母; str ‘a’…

GSON入门篇(内含教学视频+源代码)

GSON入门篇(内含教学视频源代码) 教学视频源代码下载链接地址:https://download.csdn.net/download/weixin_46411355/87474475 目录GSON入门篇(内含教学视频源代码)教学视频源代码下载链接地址:[https://d…

j6-IO流泛型集合多线程注解反射Socket

IO流 1 JDK API的使用 2 io简介 输入流用来读取in 输出流用来写出Out 在Java中,根据处理的数据单位不同,分为字节流和字符流 继承结构 java.io包: File 字节流:针对二进制文件 InputStream --FileInputStream --BufferedInputStre…

【数据结构与算法】字符串1:反转字符串I 反转字符串II 反转字符串里的单词 剑指offer(替换空格、左旋转字符串)

今日任务 344.反转字符串541.反转字符串II剑指Offer 05.替换空格151.反转字符串里的单词剑指Offer58-II.左旋转字符串 1.Leetcode344.反转字符串 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/reverse-string &#…

项目管理工具dhtmlxGantt甘特图入门教程(十一):后端集成问题解决方法

这篇文章给大家讲解如何解决dhtmlxGantt后端集成的问题。 dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足应用程序的所有需求,是完善的甘特图图表库 DhtmlxGantt正版试用下载https://www.evget.com/product/4213/download …

联想小新 Air-14 2019IML电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。硬件型号驱动情况主板Lenovo LNVNB161216处理器Intel Core i5-10210U / i7-10510U已驱动内存8GB DDR4 2666已驱动硬盘康佳KAK0500B128(128 GB/固志硬盘)已驱动显卡Intel UHD 620Nvidia GeForce MX250(屏蔽)无法驱动声卡Cone…

中国社科院与美国杜兰大学金融管理硕士——努力看到别样的风景

卡耐基曾说过,现在的努力是为了换取走更远的路,看到别人看不到的风景。现在卖命是为了让年老的时候,可以不用疲于奔命。对于这段话我深以为然,现在不努力,更待何时呢,就像在职的我们,想发展的更…

编译原理笔记(1)绪论

文章目录1.什么是编译2.编译系统的结构3.词法分析概述4.语法分析概述5.语义分析概述6.中间代码生成和后端概述1.什么是编译 编译的定义:将高级语言翻译成汇编语言或机器语言的过程。前者称为源语言,后者称为目标语言。 高级语言源程序的处理过程&#…

2020蓝桥杯真题回文日期 C语言/C++

题目描述 2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。 有人表示 20200202 是 “千年一遇…

JUC-day03

JUC-day03 线程池: 核心参数(核心线程数 最大线程数 闲置时间 闲置时间单位 阻塞队列 拒绝策略 工厂对象)—理论异步编排: 代码能并行的运行起来—练习(业务能力)流式编程: 串行化编程(List—>数据流—>逻辑一致(过滤器)—>新数据)----练习(编码能力) 1 阻塞队列 1…

ActiveReports.NET 17.0.1 Crack 2023-02-14

ActiveReports.NET v17 现已可用!作为我们的主要年度版本,此更新为 ActiveReports 生态系统提供了大量令人兴奋的新功能和改进。 RDL 仪表板 - 新报告类型 ActiveReports 17 带来的最令人兴奋的功能之一是新的 RDL Dashboard 报告类型!RDL 仪…

基于SpringBoot的外卖项目(详细开发过程)

基于SpringBootMyBatisPlus的外卖项目1、软件开发整体介绍软件开发流程角色分工2、外卖项目介绍项目介绍产品展示后台系统管理移动端技术选型功能结构角色3、开发环境的搭建开发环境说明建库建表Maven项目搭建项目的目录结构pom.xmlapplication.ymlReggieApplication启动类配置…

WSO2 apim Subscribe to an API

WSO2 apim Application Subscribe to an API1. Published an Api2. Subscribe to an API using Key Generation Wizard3. Subscribe to an existing application4. AwakeningWSO2安装使用的全过程详解: https://blog.csdn.net/weixin_43916074/article/details/127987099. Offi…

SpringCloud第五讲 Nacos注册中心-服务注册到Nacos

1.引入依赖&#xff1a; 在父工程中添加spring-cloud-alibaba的管理依赖 <!-- Nacos的管理依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version…