热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

让前端小姐姐愉快地开发表单

前端小姐姐:“新业务功能又有大量的表单要开发了,有没让我又高效又愉快地完成这个任务的方案呢?”哦,我想想,配置开发理念,应该比较适合,且社区也有好些这种理念的开源项目前端小姐姐:“

《让前端小姐姐愉快地开发表单》

前端小姐姐:“新业务功能又有大量的表单要开发了,有没让我又高效又愉快地完成这个任务的方案呢?”

哦,我想想,配置开发理念,应该比较适合,且社区也有好些这种理念的开源项目

前端小姐姐:“什么叫配置开发理念呢?”

就是只需要简单地定义一份JSON配置数据来开发表单

前端小姐姐:“太棒了,我去search下先哈”

过了一会~~

前端小姐姐:“是真有不少,但我选哪个好呢?”

恩,那我们就来聊聊配置理念表单开发的选型吧

1. 帮助文档

这是必不可少的啦,没有文档,谁敢用呢

2. 直观特性展示

我可不想一开始就要花大量时间去读冷冰冰的文字,然后还要发挥自己的想像力

最好有超直观超形象超方便的方式展示大部分甚至全部的特性,可能是这样的:

《让前端小姐姐愉快地开发表单》

3. 开箱即用

最好官方自带一整套常用的表单控件和校验规则,满足大部分常见场景,就不用去自行扩展太多了

比如以下的组件就经常用到了:

《让前端小姐姐愉快地开发表单》

比如以下的校验规则就经常用到了:

《让前端小姐姐愉快地开发表单》

4. 扩展能力

官方就是提供再多的组件和校验规则,也是无法满足所有的业务场景的,所以必须 友好(简单方便) 支持开发者自定义自己的表单组件和校验规则

5. 支持复杂数据结构

一个表单数据结构,除了简单的只有一级属性的对象类型外(如 {name: 'daniel', age: 18}),实际很多场景可能是这样的:

{
"name": {
"firstName": "daniel",
"lastname": "xiao"
}
}

可能是这样的:

{
"name": "daniel",
"hobbies": [
{
"id": 1,
"name": "Coding"
},
{
"id": 2,
"name": "Singing"
}
]
}

一句话总结就是:支持数组类型,对象嵌套对象,对象嵌套数组,数组的项是普通类型 或 对象类型 或 数组类型

6. 表单控件间交互

我想说,一个表单,不是把表单控件按位置静静放在那就行了,控件之间并不独立,控件之间是有交互的

这里列举下具有代表性的一些场景:

  • “同意才能继续” 类型

《让前端小姐姐愉快地开发表单》

《让前端小姐姐愉快地开发表单》

  • “城市选择器” 类型

《让前端小姐姐愉快地开发表单》

  • “大于18岁必填” 类型

《让前端小姐姐愉快地开发表单》

  • “日期比较” 类型

《让前端小姐姐愉快地开发表单》

  • “全名自动填写” 类型

《让前端小姐姐愉快地开发表单》

感觉已经挺多了,就不一一列举了。

所以,前端小姐姐,如果候选开源项目能够满足以上所提的条件,那就可以用了

前端小姐姐:“哦,那你有推荐吗?”

当然。。。

哈哈,接下来就是广告时间了,如果各位看官们觉得以上的选型条件合情合理,那 ncform 就是一个不错的选择了

ncform,一种令人愉悦的表单开发方式,仅需配置即可生成表单UI及其交互行为。

自带丰富的 标准组件 和 校验规则,开箱即用。

具备强大的 控件交互 和 扩展能力,做你所想。

访问官方Github了解更多呗:https://github.com/ncform/ncform

tags: vue, form, json-schema, generator


推荐阅读
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 第六章:枚举类型与switch结构的应用分析
    第六章深入探讨了枚举类型与 `switch` 结构在编程中的应用。枚举类型(`enum`)是一种将一组相关常量组织在一起的数据类型,广泛存在于多种编程语言中。例如,在 Cocoa 框架中,处理文本对齐时常用 `NSTextAlignment` 枚举来表示不同的对齐方式。通过结合 `switch` 结构,可以更清晰、高效地实现基于枚举值的逻辑分支,提高代码的可读性和维护性。 ... [详细]
  • Milvus 获邀参加 2020 开源软件供应链峰会,探讨大数据领域的创新应用与实践
    2020年11月14日至15日,由中国科学软件研究所和openEuler社区联合主办的开源软件供应链峰会在南京玄武苏宁诺富特酒店隆重召开。作为开源社区的重要成员,Milvus受邀参加了此次盛会,与业界专家共同探讨了大数据领域的创新应用与实践经验。会上,Milvus分享了其在高性能向量搜索引擎方面的最新进展和技术突破,为大数据处理和分析提供了新的解决方案。 ... [详细]
  • Swoole加密机制的安全性分析与破解可能性探讨
    本文深入分析了Swoole框架的加密机制,探讨了其在实际应用中的安全性,并评估了潜在的破解可能性。研究结果表明,尽管Swoole的加密算法在大多数情况下能够提供有效的安全保护,但在特定场景下仍存在被攻击的风险。文章还提出了一些改进措施,以增强系统的整体安全性。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 计算机视觉领域介绍 | 自然语言驱动的跨模态行人重识别前沿技术综述(上篇)
    本文介绍了计算机视觉领域的最新进展,特别是自然语言驱动的跨模态行人重识别技术。上篇内容详细探讨了该领域的基础理论、关键技术及当前的研究热点,为读者提供了全面的概述。 ... [详细]
  • 本文探讨了利用JavaScript实现集合的对称差集算法的方法。该算法旨在处理多个数组作为输入参数,同时保留每个数组中元素的原始顺序。算法不会移除单个数组内的重复元素,但会删除在不同数组之间出现的重复项。通过这种方式,能够有效地计算出多个数组的对称差集。 ... [详细]
  • Java解析YAML文件并转换为JSON格式(支持JSON与XML的结构化查询)
    本文探讨了如何利用Java解析YAML文件并将其转换为JSON格式,同时支持JSON和XML的结构化查询。YAML、JSON和XML这三种数据格式通过其名称作为文件扩展名,便于区分和使用。文章详细介绍了这些格式的层次结构和数据表示方法,并重点讨论了在数据传输过程中,XML的特性和优势。此外,还提供了具体的代码示例和实现步骤,帮助开发者高效地进行数据格式转换和查询操作。 ... [详细]
  • 在 CentOS 7 上部署和配置 RabbitMQ 消息队列系统时,首先需要安装 Erlang,因为 RabbitMQ 是基于 Erlang 语言开发的。具体步骤包括:安装必要的依赖项,下载 Erlang 源码包(可能需要一些时间,请耐心等待),解压源码包,解决可能出现的错误,验证安装是否成功,并将 Erlang 添加到环境变量中。接下来,下载 RabbitMQ 的 tar.xz 压缩包,并进行解压和安装。确保每一步都按顺序执行,以保证系统的稳定性和可靠性。 ... [详细]
  • Joomla!软件介绍【Joomla!概括介绍】国外相当知名的内容管理系统。【Joomla!基本介绍】Joomla!是一套在国外相当知名的内容管理系统(ContentManagem ... [详细]
  • R语言中向量(Vector)数据类型的元素索引与访问:利用中括号[]和赋值操作符在向量末尾追加数据以扩展其长度
    在R语言中,向量(Vector)数据类型的元素可以通过中括号 `[]` 进行索引和访问。此外,利用中括号和赋值操作符,可以在向量的末尾追加新数据,从而动态地扩展向量的长度。这种方法不仅简洁高效,还能灵活地管理向量中的数据。 ... [详细]
  • ccFlow新增属性:流程发起限制条件优化与扩展
    在ccFlow最新版本中,新增了流程发起限制条件的优化与扩展功能。这一改进不仅增强了系统的灵活性和安全性,还为开发者提供了更加精细的控制选项,确保流程启动时的数据准确性和合规性。通过合理配置这些限制条件,可以有效避免因不当操作导致的数据混乱和流程错误,提升整体业务流程的管理水平。 ... [详细]
  • 深入解析CAS机制:全面替代传统锁的底层原理与应用
    本文深入探讨了CAS(Compare-and-Swap)机制,分析了其作为传统锁的替代方案在并发控制中的优势与原理。CAS通过原子操作确保数据的一致性,避免了传统锁带来的性能瓶颈和死锁问题。文章详细解析了CAS的工作机制,并结合实际应用场景,展示了其在高并发环境下的高效性和可靠性。 ... [详细]
author-avatar
神秘的绝代双角
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有