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
mask是否显示组件遮罩层。默认为 true,此时用户无法操作组件。设置为 false 可以让用户直接操作设计器中的组件。boolean
height设计器组件的高度。可以使用字符串(如 500px, 100vh)或数字(如 500)。指定设计器的显示高度。string|number
menu自定义左侧菜单列表。此配置会覆盖设计器的默认菜单列表。MenuList 应包含你希望在设计器左侧显示的菜单项。MenuList
config配置设计器内的模块显示状态和默认规则。通过此配置,可以控制哪些模块可见,查看完整配置说明Config
handle设计器顶部的扩展操作按钮。Handle 是一个包含按钮名称和回调函数的数组。通过此配置,可以添加自定义操作按钮并指定其行为。Handle

config 配置项

配置项类型描述
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是否可以编辑
validateOnlyRequiredboolean控制组件验证是否只显示必填验证
hiddenDragMenuboolean隐藏拖拽操作按钮
hiddenDragBtnboolean隐藏拖拽按钮
componentPermissionComponentPermission[]控制组件的配置权限
hiddenMenuMenuName[]隐藏部分菜单
hiddenItemstring[]隐藏部分组件
hiddenFormConfigstring[]隐藏表单部分配置项
disabledFormConfigstring[]禁用表单部分配置项
hiddenItemConfigObject隐藏组件的部分配置项
disabledItemConfigObject禁用组件的部分配置项
allowDragObject可拖入的组件列表
denyDragObject不可拖入的组件列表
showMenuBarboolean是否显示左侧
showSaveBtnboolean是否显示保存按钮
showPreviewBtnboolean是否显示预览按钮
showConfigboolean是否显示右侧的配置界面
showBaseFormboolean是否显示组件的基础配置表单
showComponentNameboolean是否显示组件的编号
showControlboolean是否显示组件联动
showJsonPreviewboolean是否显示json预览按钮
showCustomPropsboolean是否显示自定义props按钮
showPropsFormboolean是否显示组件的属性配置表单
showStyleFormboolean是否显示组件的样式配置表单
showEventFormboolean是否显示组件的事件配置表单
showValidateFormboolean是否显示组件的验证配置表单
showFormConfigboolean是否显示表单配置
showDeviceboolean是否显示多端适配选项
showInputDataboolean是否显示录入按钮
showLanguageboolean是否显示国际化配置
exitConfirmboolean关闭页面时确认弹窗
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>