为何强烈推荐 Vue/React/jQuery 框架的强大动态表单 SurveyJS?

boyanx4个月前技术教程18

家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!

什么是 SurveyJS

Free JavaScript form builder library with integration for React, Angular, Vue, jQuery, and Knockout.

SurveyJS 表单库是一个免费的 MIT 许可客户端组件,允许开发者在任何 JavaScript 应用程序中渲染基于 JSON 的动态表单、收集响应并将所有表单数据提交到目标数据库。

开发者可以将 SurveyJS 用于任意长度和复杂程度的多页表单、弹出式调查、测验、计分调查、计算器表单等。SurveyJS 表单库对 React、Angular、Vue 和 Knockout 等框架都具有原生支持,jQuery 通过 Knockout 版本的包装器也能获得支持。


SurveyJS 产品系列还包括一个强大的表单构建器库,可自动生成 JSON 格式的表单配置文件。表单构建器具有拖放式 UI、CSS 主题编辑器和用于条件逻辑和表单分支的 GUI。

目前 SurveyJS 在 Github 通过 MIT 协议开源,有超过 4k 的 star、1k 的 fork、代码贡献者 150+、妥妥的前端优质开源项目。

在 React 中使用 SurveyJS

SurveyJS Form Library for React 由两个 npm 包组成:survey-core(独立于平台的代码)和 survey-react-ui(渲染代码)。首先需要运行以下命令安装 survey-react-ui,survey-core 包将作为依赖项自动安装。

npm install survey-react-ui --save

SurveyJS 表单库附带了几个预定义主题(如下所示)以及基于 CSS 变量的灵活主题自定义机制。

import 'survey-core/defaultV2.min.css';

接着需要指定模型,以下模型架构声明了两个文本问题,每个问题都有一个标题和一个名称。标题显示在屏幕上,名称用于在代码中识别问题。

const surveyJson = {
  elements: [{
    name: "FirstName",
    title: "Enter your first name:",
    type: "text"
  }, {
    name: "LastName",
    title: "Enter your last name:",
    type: "text"
  }]
};

接着可以导入 Survey 组件并渲染表单,将其添加到模板中:

// Uncomment the following line if you are using Next.js:
// 'use client'
import {Survey} from 'survey-react-ui';
// ...
const surveyJson = {...};
function App() {
  const survey = new Model(surveyJson);
  return ;
}

SurveyJS 与其他框架,比如:Angular、Vue 、 Knockout、jQuery 等的集成也非常简单,这里不再赘述,可以参考文末资料。

参考资料

https://github.com/surveyjs/survey-library

https://surveyjs.io/form-library/documentation/get-started-react

https://surveyjs.io/documentation/surveyjs-architecture

标签: jquery插件

相关文章

15款响应式布局必备的jQuery Grid网格插件

FreewallFreewall是一款跨平台的、响应式jQuery插件,可帮助你创建多种类型的网格布局:灵活布局、图像布局、嵌套网格、流体网格、Metro风格布局以用CSS3实现的动画效果和回调事件的...

干货!分享一个jQuery剪辑图片插件,适用于移动端和PC端

干货!分享一个jQuery剪辑图片插件,适用于移动端和PC端

最近在开发过程中需要用到图片剪裁上传的功能,一开始是想着用canvas来实现,但对于canvas还不是很熟悉,于是走了个捷径,找了一款开源的jQuery插件。还是挺简单好用的,适配IOS、Androi...

jQuery基础回顾——jQuery与Ajax应用

Ajax全称为“Asynchronous JavaScript XML”(异步javaScript和XML),它并不是指一种单一的技术,而是有机地利用了一系列交互式网页应用相关的技术所形成的结合体。A...

11个最佳 jQuery 滚动条插件

1. Windows:全屏窗口滚动插件该插件可以很好地实现全屏滚动,每滚动一次即为一屏。比如,用户浏览下一屏幕内容时,只需手动滚动到某一位置,该插件会自动滚动显示下一屏全部内容。对于浏览类似于PPT的...

Jquery高级编程

在过去几年中,JavaScript 发生了翻天覆地的变化。它曾经是一种处于次要地位的“玩具”语言,但是现在JavaScript已经成为世界上最重要的程序设计语言之一。随着基于Ajax的开发的重要性不断...

实用的 jQuery下拉选择框插件集合

jQuery是目前最受欢迎的JavaScript库,并且在全世界都已经被广泛应用。今天,小编为大家展示了一些非常实用并且免费的jQuery下拉选择框插件,这可以大大的简化开发人员的工作流程。诸如这些资...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。