网站首页 > 开源技术 正文
大家好,很高兴又见面了,我是"高级前端?进阶?",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!
什么是 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 <Survey model={survey} />;
}
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
猜你喜欢
- 2024-12-17 Signal:更多前端框架的选择 前端框架svelte
- 2024-12-17 React 正在成为全栈框架 react框架优缺点
- 2024-12-17 听说后端的你在学 React 后端到底要学什么
- 2024-12-17 Rich Harris :Svelte 5.0 可减少代码编写量
- 2024-12-17 在w3cschool上学完html、css后要怎么提升
- 2024-12-17 连载:2016年最好的JS框架和库(上)
- 2024-12-17 2021年Top 5主流用户界面(UI)控件推荐
- 2024-12-17 连载:前端开发中纠结的Javascript框架(上)
- 2024-12-17 12条专业的js规则 js必须掌握的
- 2024-12-17 国货之光?用Rust编写的Vivo Blue OS
你 发表评论:
欢迎- 05-16东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 05-16这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 05-16湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- 05-16Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- 05-16G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- 05-16DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 05-16上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- 05-16WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 最近发表
-
- 东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 湖人自媒体调查:89%球迷希望DFS回归 79%希望詹姆斯回归
- 一觉醒来湖人苦盼的纯3D终于到位 DFS能带给紫金军多少帮助
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)