Skip to content

表单构建器

基础用法

vue
<template>
  <ex-form-designer :form-json="formJson" />
</template>
<script lang="ts" setup>
import { reactive } from "vue";
import { DesFormParams } from "exercise-form";

const formJson = reactive<DesFormParams>({
  formConfig: {}, //表单设置
  widgetList: [] //组件列表
});
</script>

WARNING

使用时注意构建器高度问题,默认高度100vh,自定义高度更改style即可。

主题

该组件主题基于Element Plus主题设置配建使用,可以根据改变Element全局 --el-color-primary实现。

注意事项

其中组件库中含有富文本组件,该组件基于WangEditor,其主题配置请参考文档进行处理。其中已修改的配置如下。

css
html.dark {
  --w-e-textarea-bg-color: var(--el-bg-color);
  --w-e-textarea-color: #fff;
  --w-e-toolbar-bg-color: var(--el-bg-color);
  --w-e-toolbar-border-color: var(--el-border-color);
  --w-e-toolbar-color: var(--el-text-color-regular);
  --w-e-toolbar-active-bg-color: var(--el-fill-color);
  --w-e-toolbar-active-color: var(--el-text-color-regular);
}

黑夜模式

基于Element Plus黑夜模式进行设置。 因vue-codemirror编辑器插件黑夜模式与Element Plus无关,还需开启组件黑夜模式。也自行进行样式覆盖处理。

html
<ex-form-designer dark />

属性参数

属性名描述类型默认值
form-json构建器数据object-
options构造器按钮显示配置object-
banned-widgets禁用组件array-
template-list模板组件array-
dark黑夜模式booleanfalse

表单属性配置 formConfig

下面是formConfig参数说明,已有参数请参考el-form属性配置。

参数描述类型默认值
patternType构造器模式stringpc
isPageType页面类型string\可选:dialog(弹框)page
cssCode样式代码片段string-
customClassclassName列表array-
dataSources数据源列表array-
数据源列表参数说明 dataSources
参数描述类型
sourceId唯一IDstring
name标题string
describe描述string
requestUrl请求地址string
method请求方式string
headers请求头object
params请求参数object
data请求参数object
configHandlerCode请求配置string
dataHandlerCode请求响应处理string
errorHandlerCode请求错误处理string
showMultiData是否需要多数据处理boolean
multiData多数据列表:{name:xxx,remark:xxxx}array

options

下面是关于构造器按钮配置说明。

参数描述类型默认值
templateButton是否显示模版栏booleantrue
treeFormButton是否显示表单树形按钮booleantrue
previewFormButton是否显示预览表单按钮booleantrue
exportJsonButton是否显示导出JSON按钮booleantrue
exportCodeButton是否显示导出代码按钮booleantrue
generateSFCButton是否显示生成SFC按钮booleantrue
pageTypeButton是否显示导出页面类型按钮booleantrue
copyDataButton是否显示复制按钮booleantrue
saveFileButton是否显示导出文件按钮booleantrue
resetFormJson是否显示初始化时重置表单为空booleanfalse

导出方法

方法描述类型
getFormData获取表单数据function :()=>object

Released under the MIT License.