bsFormBuilder 是一个基于 JQuery + Bootstrap (v4.x) 的表单构建工具。
<div id="builder"></div> <script> $('#builder').bsFormBuilder({...}); </script>
在使用前,需要导入 bootstrap 和 jquery 的相关文件。
<link href="path/bootstrap.min.css" rel="stylesheet"> <link href="path/bootstrap-icons.css" rel="stylesheet"> <script src="path/jquery.min.js"></script> <script src="path/bootstrap.bundle.min.js"></script> <!-- 导入 bs-form-builder 依赖--> <link href="path/bs-form-builder.min.css" rel="stylesheet"> <script src="path/bs-form-builder.min.all.js"></script>
通过 $('#builder').bsFormBuilder({options...});
进行初始化,bsFormBuilder
方法可以传入 options 配置,options 内容如下:
{ //模式: "view" 预览模式, "builder" 构建工具模式 mode: "view", //使用哪些组件 useComponents:[], //初始化数据 datas:[], //操作按钮列表 actionButtons:[], //操作按钮模板 actionButtonTemplate:'', //组件扩展配置,配置的内容可以覆盖掉系统的配置 components: {}, //每个组件的默认属性 defaultProps: [], //属性渲染的 html 模板配置 propTemplates: {}, //初始化回调方法 onInit: function(bsFormBuilder){}, }
1、通过 $('#builder').bsFormBuilder('methodName',arguments...);
方法调用。
2、或者可以通过 $('#builder').bsFormBuilder().data('bsFormBuilder')
来获取 bsFormBuilder
实例,然后直接调用其方法。
Bs-Form-Builder 支持的方法如下:
在 bs-form-builder 中,组件是通过一个 json 内容来定义的,一个完整的组件的 json 内容 如下:
{ "name": "输入框", "tag": "input", "drag": { "title": "输入框", "type": "base", "index": 100, "iconClass": "bi bi-terminal" }, "template": '<div class="bs-form-item">' + ' <div class="form-group clearfix">' + ' <div class="form-label-left">' + ' <label for="label">{{label}}</label>' + ' </div>' + ' <div class="flex-auto">' + ' <input type="text" class="form-control" id="{{id}}"' + ' placeholder="{{placeholder}} value="{{value}}" />' + ' </div>' + ' </div>' + '</div>', }
组件属性描述
注意:默认情况下,无需配置 onAdd、onPropChange、render 方法。除非您已经了解的其作用。
props 属性描述
bsFormBuilder 已经内置了 4 个属性:tag、id、name、label,任何组件都包含有这 4 个属性(除非定义了 propsfilter),然而,一个复杂的组件除了这 4 个属性以外,还应该有其他的属性,比如 textarea 应该有行数 rows。
所以,textarea 组件的定义如下:
{ "name": "多行输入框", "tag": "textarea", "props": [ { name: "rows", type: "number", label: "行数", placeholder: "请输入行数...", defaultValue: 3, disabled: false, required: true, } ], "template":"...." }
template 语法:
template 内置变量:
props 描述 props 是一个组件的属性配置,系统内置了 4 个属性,我们可以通过这个来定义组件自己的属性。
例如,textarea 需要定义行号属性,因此,需要添加如下的配置:
{ name: "rows", type: "input", label: "行数", placeholder: "请输入行数...", defaultValue: 5, disabled: false, required: true, }
textarea 定义了名称为 rows 的属性,template 必须通过 {{rows}}
来接收该属性的设置:
<textarea rows="{{rows}}">{{value}}</textarea>
prop 属性描述
理论上,属性面板支持 input、select、number、switch、checkbox、radio 这 6 种属性类型,已经够用了,不过 bs-form-builder 依然支持通过在初始化的时候,通过初始化函数来扩展自己的属性面板设置类型。
属性扩展如下:
var options = { propTemplates: { otherType:function (){ return '<div> </div>' } }, defaultProps:[ { name: "属性名称", type: "otherType", label: "属性label", placeholder: "请输入行数..." } ] } $('#builder').bsFormBuilder(options)
或者
var options = { propTemplates: { otherType:function (){ return '<div> </div>' } }, components:{ component1 :{ "name": "自定义组件1", "tag": "component1", "props": [ { name: "属性名称1", type: "otherType", label: "属性名称1", } ], "template":"...." }, component2 :{ "name": "自定义组件2", "tag": "component2", "props": [ { name: "属性名称2", type: "otherType", label: "属性名称2", } ], "template":"...." } } } $('#builder').bsFormBuilder(options)
1、下载代码
git clone https://gitee.com/fuhai/bs-form-builder.git
2、安装依赖
npm install
PS:在安装依赖的过程中,可能会出现网络错误,请配置好网络环境,或者多安装几次...
3、构建编译
npm run build
QQ群:117662146
这堂课将概述SBT!具体议题包括: 创建一个SBT项目 基本命令 sbt控制台 连续命令执行 自定义你的项目 自定义命令 快速浏览SBT资源(如果时间允许) 关于SBT SBT是一个现代化的构建工具。虽然它由Scala编写并提供了很多Scala便利,但它是一个通用的构建工具。 为什么选择SBT? 明智的依赖管理 使用Ivy做依赖管理 “只在请求时更新”的模型 对创建任务全面的Scala语言支持 连
问题内容: 刚刚向我介绍了Outlook表单的概念。我不知道这是否可以解决我的问题,但这是我想做的事情: 我希望能够让公司内部的员工填写一些表格。因此,我要做的就是创建表单并将其推送到他们的Outlook中?他们填写表格后,我能以某种方式捕获数据吗?有人做过吗?有人可以推荐一个好的教程/示例吗? 更新: Outlook-> Access选项似乎是一个不错的选择,但似乎该表单必须由某人通过电子邮件发
一、构建工具的作用 二、Java 主流构建工具 三、Maven 参考资料 一、构建工具的作用 构建一个项目通常包含了依赖管理、测试、编译、打包、发布等流程,构建工具可以自动化进行这些操作,从而为我们减少这些繁琐的工作。 其中构建工具提供的依赖管理能够可以自动处理依赖关系。例如一个项目需要用到依赖 A,A 又依赖于 B,那么构建工具就能帮我们导入 B,而不需要我们手动去寻找并导入。 在 Java 项
你需要的就是一套工具,能把你自动化构建的需求表示成可执行的顺序的任务(tasks),比如编译源代码,拷贝生成的class文件,组装交付。每一个任务都是一个工作单元,任务的顺序很重要,我们把任务和相互之间的依赖建模成一种有向无环图,比如下面这个: 有向无环图 包含两个部分: 节点(node):一个工作单元,在这里就是一个任务,比如编译源代码 边(edge): 一个有方向的边,表示相邻节点之间的依赖关
Ant Ant 是 Apache 组织下的一个跨平台的项目构建工具,它是一个基于任务和依赖的构建系统,是过程式的。开发者需要显示的指定每一个任务,每个任务包含一组由 XML 编码的指令,必须在指令中明确告诉 Ant 源码在哪里,结果字节码存储在哪里,如何将这些字节码打包成 JAR 文件。Ant 没有生命周期,你必须定义任务和任务之间的依赖,还需要手工定义任务的执行序列和逻辑关系。这就无形中造成了大
SCons 简介 SCons 是一套由 Python 语言编写的开源构建系统,类似于 GNU Make。它采用不同于通常 Makefile 文件的方式,而是使用 SConstruct 和 SConscript 文件来替代。这些文件也是 Python 脚本,能够使用标准的 Python 语法来编写。所以在 SConstruct、SConscript 文件中可以调用 Python 标准库进行各类复杂的