Skip to content

设计器的配置

本文档包含组件的props参数配置指南及完整参数说明

移动端设计器是fc-designer-mobile组件

Vue3

vue
<template>
    <fc-designer ref="designer" :height="height" :config="config"/>
</template>
<script setup>
    const designer = ref(null);
    const height = ref('100vh');
    const config = ref({
        showSaveBtn: true
    });
</script>
Vue2
vue
<template>
    <fc-designer ref="designer" :height="height" :config="config"></fc-designer>
</template>
<script>
    export default {
        name: 'Component',
        data() {
            return {
                height: '100vh',
                config: {
                    showSaveBtn: true
                },
            };
        },
    };
</script>

配置项

组件支持的完整配置项及说明如下:

属性名描述类型
locale多语言配置对象。默认为中文。通过设置此属性,可以切换到其他语言的界面文本。查看多语言Object
field管理左侧的字段列表,查看管理字段列表FieldList
list管理左侧的表单列表,查看管理表单列表FormList
mask是否显示组件遮罩层。默认为 true,此时用户无法操作组件。设置为 false 可以让用户直接操作设计器中的组件。boolean
height设计器组件的高度。可以使用字符串(如 500px, 100vh)或数字(如 500)。指定设计器的显示高度。string|number
menu自定义左侧菜单列表。此配置会覆盖设计器的默认菜单列表。MenuList 应包含你希望在设计器左侧显示的菜单项。查看扩展组件分组MenuList
config配置设计器内的模块显示状态和默认规则。通过此配置,可以控制哪些模块可见,查看完整配置说明Config
handle设计器顶部的扩展操作按钮。Handle 是一个包含按钮名称和回调函数的数组。通过此配置,可以添加自定义操作按钮并指定其行为。查看扩展自定义操作Handle
theme设计器的主题。支持 purpleorangepinkgreen 四种主题。通过设置此属性,可以改变设计器的整体视觉风格。查看主题色string

config 配置项

配置项类型描述
iconsstring[]扩展图标选择,查看图标
fontFamilyArray<string | {label: string, value: string}>扩展字体,查看扩展字体
device'100%' | string配置设计区域显示方式,查看多端适配
switchTypefalse | Array<string[]>是否可以切换组件类型,或者可以相互切换的字段,查看自定义组件切换规则
autoActiveboolean是否自动选中拖入的组件
localeOptionsArray<{value: string, label: string}>多语言种类,查看多语言
beforeRemoveRule(data: { rule: Rule }) => false|void删除组件前置事件, 返回 false 终止删除
beforeActiveRule(data: { rule: Rule }) => false|void选中组件前置事件, 返回 false 终止选中
configFormOrderArray<'base' | 'advanced' | 'props' | 'slots' | 'style' | 'event' | 'validate'>排序组件配置项的顺序,查看调整右侧配置顺序
checkDrag(drag: {rule: Rule | undefined, menu: DragRule, toRule: Rule, toMenu: DragRule}) => boolean判断组件是否可以拖入,查看控制可以拖入容器组件中的组件
hotKeyboolean是否开启快捷键,默认开启,查看快捷键
autoResetNameboolean是否在复制时自动重置组件的name,默认开启
autoResetFieldboolean是否在复制时自动重置组件的field,默认开启
updateConfigOnBlurboolean右侧配置更新方式
useTemplateboolean是否生成vue2语法的模板组件,查看生成Vue组件
formOptionsObject定义表单配置默认值,查看修改表单默认配置
fieldReadonlyboolean配置field是否可以编辑,查看管理字段ID
nameReadonlyboolean配置name是否可以编辑
fieldListFieldItem[]field选择项,支持多级,查看管理字段列表
fieldLeafSelectableboolean子表单组件是否可以选择fieldList中的最后一级
relationFieldboolean控制子表单组件字段是否和子表单字段联动, 默认开启
validateOnlyRequiredboolean控制组件验证是否只显示必填验证
varListVarItem[]自定义变量列表,查看变量
hiddenDragMenuboolean隐藏拖拽操作按钮
hiddenDragBtnboolean隐藏拖拽按钮
componentPermissionComponentPermission[]控制组件的配置权限
hiddenMenuMenuName[]隐藏部分菜单
hiddenItemstring[]隐藏部分组件
hiddenFormConfigstring[]隐藏表单部分配置项
hiddenItemConfigObject隐藏组件的部分配置项,查看控制组件配置显隐禁用状态
disabledItemConfigObject禁用组件的部分配置项,查看控制组件配置显隐禁用状态
allowDragObject可拖入的组件列表,查看控制可以拖入容器组件中的组件
denyDragObject不可拖入的组件列表,查看控制可以拖入容器组件中的组件
aiObjectAI 模块相关配置,查看AI 表单助理
showAiboolean是否显示 AI 模块,查看AI 表单助理
showMenuBarboolean是否显示左侧,查看功能模块显隐
showQuickLayoutboolean是否显示快速排序按钮
showSaveBtnboolean是否显示保存按钮
showGridLineboolean是否显示辅助线按钮
showPreviewBtnboolean是否显示预览按钮,查看阅读模式
showPrintBtnboolean是否显示打印按钮,查看打印表单
showConfigboolean是否显示右侧的配置界面
showBaseFormboolean是否显示组件的基础配置表单
showComponentNameboolean是否显示组件的编号
showControlboolean是否显示组件联动,查看组件联动
showVariableboolean是否显示绑定变量,查看变量
showJsonPreviewboolean是否显示json预览按钮
showCustomPropsboolean是否显示自定义props按钮
showPageManageboolean是否显示模块管理
showAdvancedFormboolean是否显示组件的高级配置表单
showPropsFormboolean是否显示组件的属性配置表单
showStyleFormboolean是否显示组件的样式配置表单
showEventFormboolean是否显示组件的事件配置表单
showValidateFormboolean是否显示组件的验证配置表单
showFormConfigboolean是否显示表单配置
showTemplateboolean是否显示左侧的模板列表,查看扩展模板
showDeviceboolean是否显示多端适配选项,查看多端适配
showInputDataboolean是否显示录入按钮,查看默认值
showLanguageboolean是否显示国际化配置,查看多语言
showLabelConfigboolean是否显示标签编辑
exitConfirmboolean关闭页面时确认弹窗
checkFieldUniqueboolean是否检查 field 字段重复
appendConfigDatastring[] | ((rule: Rule) => Object)定义渲染规则所需的formData
baseRuleextendRule基础配置的渲染规则,可以覆盖默认规则,查看扩展右侧配置规则
validateRuleextendRule验证配置的渲染规则,可以覆盖默认规则,查看扩展右侧配置规则
formRuleextendRule表单的渲染规则,可以覆盖默认规则,查看扩展右侧配置规则
componentRuleObject组件配置的渲染规则,可以覆盖默认规则,查看扩展右侧配置规则
updateDefaultRuleObject设置组件的初始化规则,查看修改组件默认配置

完整配置项的类型定义可参考 TypeScript 数据结构文档:Ts数据结构

示例

定义设计器的高度

通过设置 height 属性为 '100vh' 来定义表单设计器组件的高度

vue
<template>
    <fc-designer ref="designer" :height="height"></fc-designer>
</template>
<script>
    export default {
        name: 'Component',
        data() {
            return {
                height: '100vh',
            };
        },
    };
</script>

隐藏子表单菜单

通过配置项的 hiddenMenu 属性,隐藏了表单设计器界面中的“子表单”菜单选项

vue
<template>
    <fc-designer ref="designer" :config="config"></fc-designer>
</template>
<script>
    export default {
        name: 'Component',
        data() {
            return {
                config: {
                    hiddenMenu: ['subform']
                },
            };
        },
    };
</script>

隐藏指定组件

通过配置项的 hiddenItem 属性,隐藏了表单设计器中的子表单、分组、树形控件和树形选择器等特定组件

vue
<template>
    <fc-designer ref="designer" :config="config"></fc-designer>
</template>
<script>
    export default {
        name: 'Component',
        data() {
            return {
                config: {
                    hiddenItem: ['subForm', 'group', 'tree', 'elTreeSelect']
                },
            };
        },
    };
</script>

显示保存按钮

通过设置 showSaveBtn: true 启用了表单设计器顶部的保存按钮,并定义了 save 方法来处理保存事件

vue
<template>
    <fc-designer ref="designer" :config="config" @save="save"></fc-designer>
</template>
<script>
    export default {
        name: 'Component',
        data() {
            return {
                config: {
                    showSaveBtn: true
                },
            };
        },
        methods: {
            save() {
                // todo
            }
        }
    };
</script>

设置设计器主题

通过设置 theme 属性来改变设计器的整体视觉风格

vue
<template>
    <fc-designer ref="designer" :theme="theme" :config="config"></fc-designer>
</template>
<script>
    export default {
        name: 'Component',
        data() {
            return {
                theme: 'purple', // 支持 purple、orange、pink、green
                config: {
                    showSaveBtn: true
                },
            };
        }
    };
</script>

自定义扩展操作

通过 handle 属性添加自定义操作按钮

vue
<template>
    <fc-designer ref="designer" :config="config" :handle="handle"></fc-designer>
</template>
<script>
    export default {
        name: 'Component',
        data() {
            return {
                config: {
                    showSaveBtn: true
                },
                handle: [
                    {
                        label: '导出JSON',
                        callback: () => {
                            const json = this.$refs.designer.getJson();
                            console.log('表单JSON:', json);
                        }
                    },
                    {
                        label: '导入JSON',
                        callback: () => {
                            // 处理导入逻辑
                            const json = prompt('请输入JSON数据');
                            if (json) {
                                try {
                                    const rules = JSON.parse(json);
                                    this.$refs.designer.setRule(rules);
                                } catch (e) {
                                    alert('JSON格式错误');
                                }
                            }
                        }
                    }
                ]
            };
        }
    };
</script>