整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Vue.js的6个最佳表单生成器组件

者:Creative Tim

译者:Echa攻城狮

转发链接:https://www.creative-tim.com/blog/web-design/top-form-generator-components-vuejs/

前言

Vue.js作为一种灵活的技术而越来越流行,并且可以帮助创建灵活而又现代的应用程序而不浪费资源。它的灵活性,可伸缩性,方便的约定,尺寸效率和渐进性使该框架在其他方面脱颖而出。 如果要构建小型应用程序或大型应用程序,则表单输入是收集相关用户数据的最佳来源。表单生成器组件提供了重用捕获相似类型数据的表单的灵活性,从而确保您不违反DRY原则

如果您不熟悉Vue.js,请尝试将现有框架转换为Vue.js或只是探索您的选择,请继续阅读以找出Vue.js的前6个表单生成器组件,这些组件可以帮助您创建动态且可自定义的表单轻松地。

Vue.js表单生成器可帮助您快速而动态地创建账单,调查表,联系表,调查表等,从而使开发变得更加容易和快捷。

在探索适用于Vue.js的最佳表单生成器组件之前,请注意在PC中安装Vue的前提条件。

Vue的前提条件是什么?

  1. 您想要的IDE
  2. Node.js(最低节点v10x)
  3. 了解JavaScript和Vue的基本概念
  4. Vue CLI

如何安装Vue CLI?

1.执行命令:npm install @ vue / cli –g

2.通过执行以下命令来创建新的Vue项目:vue create <项目名称>

Vue.js的前6种表单生成器组件是什么?

1. vue-form-generator

vue-form-generator 是基于JSON模式的表单生成器组件,可帮助基于模式或数据模型创建响应式表单。该生成器轻巧且可扩展,并内置了对自定义样式的支持。

特征:

  • 该表单生成器拥有21种字段类型。
  • 其样式易于定制。
  • 它支持内置的表单验证器。
  • 它是轻量级的。
  • 它是高度可扩展的,并允许自定义字段扩展。
  • 它支持多对象编辑。
  • 包括Bootstrap友好模板。
  • 支持分组字段。

安装:

1.将目录更改为项目cd <项目名称>

2.安装vue-form-generator

npm i vue-form-generator –save

2. ncform

ncform 由于其简单性和灵活性而成为Vue.js的另一个表单生成器组件。它是一个基于JSON的表单生成器,用于创建表单UI并仅使用配置来描述其交互。

特征:

  • JSON数据结构完整描述了UI及其交互行为。
  • 表单控件之间可以灵活地交互。
  • 它不需要复杂的验证逻辑即可在表单项之间创建交互。
  • ncform定义了一组标准组件,这些组件可以轻松满足大约90%的表单开发需求,而无需扩展。
  • 它拥有十多个常用的验证和确认要求。
  • 验证规则和表单组件是高度可扩展的。
  • 它提供了强大的控件交互功能,可以创建所需的确切形式。

安装:

1.将目录更改为项目cd <项目名称>

2.安装ncform npm i @ ncform / ncform @ ncform / ncform-common –save

npm i @ ncform / ncform-theme-elementui element-ui axios –保存

3. vuetify-form-b​ase

vuetify-form-b​​ase 是另一个基于JSON的表单生成器,可帮助创建具有与数据相同结构的架构对象。由于它使用Vuetify框架来创建表单的布局和样式,因此您需要安装一个额外的软件包才能使此生成器正常工作。

要安装Vuetify,请在安装Vue CLI之后执行以下命令:

vue添加vuetify

Vuetify框架以其响应式设计,支持以及适合轻量级应用程序的清晰,简约的用户界面而闻名。

特征:

  • 它根据您定义的架构创建表单。
  • 如果未定义架构,它将自动为数据类型'string','number'或'bool'生成架构。
  • 它基于现有的模型对象创建一个完全可编辑的表单。
  • 它允许在使用相同模型对象的两个或更多窗体之间进行同步。
  • 表单的布局和功能是使用Schema-Object定义的,该对象具有与Model-Object相同的属性结构。
  • 它有助于创建具有所需事件的完全反应形式。
  • 即使您有深层嵌套的Model-Object,它也不需要展平或修改数据表示。

安装:

1.将目录更改为项目cd <项目名称>

2.安装vuetify-form-b​​ase

npm i vuetify-form-b​​ase –save

4. vue-form-json-schema

vue-form-json-schema 是基于JSON模式的表单生成器,它不需要任何字段并且支持任何HTML元素或Vue组件。由于没有预构建的组件,因此您不必为每个组件的可用性而感到困惑,从而使开发更加容易。

特征:

  • 表单布局与数据结构无关。
  • 它允许使用发出事件的任何组件或元素(自定义或本机)。
  • 它支持嵌套的表单字段,动画和表单验证。
  • 允许从后端加载表单。
  • 支持条件可见性。
  • 支持与Bootstrap类的集成,以实现不同设备的不同布局。

安装:

1.将目录更改为项目cd <项目名称>

2.在vue-form-json-schema –save

npm i vue-form-json-schema –save

5. vue-form-b​​uilder

vue-form-b​​uilder是一个快速,简单但可扩展的表单构建器组件,支持拖放。由于开发中的代码较少,因此拖放功能使维护更加容易。

特征:

  • 高度可扩展
  • 支持验证和自定义控制
  • 它具有可轻松配置的拖放功能以及控制设置。
  • 由于具有拖放功能,因此在开发中需要较少的编码。
  • 包含各种API
  • 支持静态和动态形式的创建
  • 支持文本,数字,日期,时间输入。
  • 在“折叠”和“选项卡”布局中可用。

安装:

1.将目录更改为项目cd <项目名称>

2.在vue-form-b​​uilder –save

npm i vue-form-builder –save

6. vuetify-jsonschema-form

vuetify-jsonschema-form还是Vue.js排名前六的表单生成器之一,后者基于带注释的JSON模式生成表单。该框架的缺点还在于需要安装其他Vuetify软件包。

要安装Vuetify,请在安装Vue CLI之后执行以下命令:

vue add vuetify由于此表单生成器基于Vuetify框架创建了表单的布局和结构,因此它继承了框架的简约设计,简单控制和响应能力。最适合需要声明性形式的应用程序(例如通用admin UI形式)

特征:

  • 支持所有基本数据类型。
  • 允许实现嵌套对象和嵌套数组。
  • 支持不同的显示选项。
  • 支持简单的验证规则。
  • 允许使用插槽注入内容。

安装:

1.将目录更改为项目 cd <项目名称>

2.安装vue-form-b​​uilder

npm i json-schema-for-vuetify – –保存–

最后的想法

在几乎所有基准测试中,Vue.js的性能均优于Angular和ReactJS。它很容易上手,并提供了许多很酷的功能,这些功能通过React样式渲染支持组件样式开发。

推荐Vue学习资料文章:

《从Vue源码角度深挖Watch、Computed 》

《Vue3全家桶 + Vite + TS + TSX尝鲜,先人一步 》

《精读《Vue3.0 Function API》 》

《手把手教你Electron + Vue实战教程(六) 》

《Vue中mixin怎么理解? 》

《封装一个精致vue视频播放器组件》

喽,我是老鱼,一名致力于在技术道路上的终身学习者、实践者、分享者!

IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一。

激活码开源项目地址:https://gitee.com/yudu233/java-active

Vuetify Form Base是一个基于模型的表单生成器,目的是提供一个工具,以便以较少的努力从任何模型数据生成可编辑的表单,即使模型是一个深度嵌套的对象。

Vuetify Form Base作为Vue组件工作,可以很容易地集成到任何VUE项目中。

安装

Npm

npm i vuetify-form-base

Yarn

yarn add vuetify-form-base

使用

首先要在src/plugins/vuetify.js中引入所有必要的组件和指令。

import Vue from 'vue';
import Vuetify, {
    VRow,
    VCol,
    VTextField,
    VTooltip,
    VCheckbox,
    VSelect,
} from 'vuetify/lib';
import { Ripple, Intersect, Touch, Resize } from 'vuetify/lib/directives';
Vue.use(Vuetify, {
    components: { VRow, VTooltip, VCol, VTextField, VCheckbox, VSelect },
    directives: { Ripple, Intersect, Touch, Resize },
});
export default new Vuetify({
    icons: {
        iconfont: 'mdiSvg', // 'mdi' || 'mdiSvg' || 'md' || 'fa' || 'fa4' || 'faSvg'
    }
});

通过v-form-base组件使用:

<v-form-base :model="myModel" :schema="mySchema" @input="handleInput" />

Model 及 Schema

Model: {
    name: 'base',
    details: {
        one: ['a','b','c'],
        two: { 
            a:true, 
            b:false 
        }
    }
}
Schema: {
    name:'text',
    details: { 
        one:{ type:'array' },
        two: { 
            a:'checkbox'  // shorthand for { type:'checkbox', label:'a']
            b:'checkbox'  // shorthand for { type:'checkbox', label:'b']
        }
    }
}

示例

Github地址:https://github.com/wotamann/vuetify-form-base



我是老鱼,白天敲代码,晚上搞自媒体。

课程 | 陪跑 | 项目 | 副业咨询

天给大家推荐一款超逼格的Vue可拖拽表单设计器组件FormGenerator。

form-generator 基于 Vue.js+ElementUI 高效表单设计组件,star高达1.7K+

功能特点

  • 可视化设计表单
  • 一键生成原生的vue单页表单代码,保持100%拓展性
  • 在线编辑器修改生成的代码,并实时预览
  • 表单栅格化布局
  • 支持表单校验
  • 快速查阅组件的官方文档

vscode插件

在上文的设计器的基础上,封装了一个vscode插件。突破网页不能写入文件的限制。

请在vscode中搜索 jakHuang 或 Form Generator Plugin

安装使用

# 下载项目
git clone https://github.com/JakHuang/form-generator.git

# 进入目录
cd form-generator

# 安装依赖
npm install

# 本地开发
npm run dev

# 构建
npm run build

支持生成的代码直接运行在基于Element的vue项目中。也可导出JSON表单,使用配套的解析器将JSON解析成真实的表单。

# 预览地址
https://mrhj.gitee.io/form-generator/

# 仓库地址
https://github.com/JakHuang/form-generator

ok,就分享到这里。希望对大家有所帮助,欢迎一起交流讨论!