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

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语法的模板组件
formOptionsObject定义表单配置默认值
fieldReadonlyboolean配置field是否可以编辑
nameReadonlyboolean配置name是否可以编辑
fieldListFieldItem[]field选择项,支持多级
fieldLeafSelectableboolean子表单组件是否可以选择fieldList中的最后一级
relationFieldboolean控制子表单组件字段是否和子表单字段联动, 默认开启
validateOnlyRequiredboolean控制组件验证是否只显示必填验证
varListVarItem[]自定义变量列表
hiddenDragMenuboolean隐藏拖拽操作按钮
hiddenDragBtnboolean隐藏拖拽按钮
componentPermissionComponentPermission[]控制组件的配置权限
hiddenMenuMenuName[]隐藏部分菜单
hiddenItemstring[]隐藏部分组件
hiddenFormConfigstring[]隐藏表单部分配置项
hiddenItemConfigObject隐藏组件的部分配置项
disabledItemConfigObject禁用组件的部分配置项
allowDragObject可拖入的组件列表
denyDragObject不可拖入的组件列表
aiObjectAI 模块相关配置
showAiboolean是否显示 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>