开源 FcDesigner 表单设计器组件事件详解

FcDesigner 是一款基于Vue的开源低代码可视化表单设计器工具,通过数据驱动表单渲染。可以通过拖拽的方式快速创建表单,提高开发者对表单的开发效率,节省开发者的时间。并广泛应用于在政务系统、OA系统、ERP系统、电商系统、流程管理等领域。

源码地址: Github | Gitee | 文档 | 在线演示

组件事件监听方式及事件详情说明

Vue3

html 复制代码
<template>
    <fc-designer @save="handleSave"/>
</template>
<script setup>
    import {onMounted} from "vue";
    const designer = ref(null);
    function handleSave(data) {
        //保存设计规则
    }
</script>

Vue2

html 复制代码
<template>
    <fc-designer @save="handleSave"></fc-designer>
</template>
<script>
    export default {
        name: 'Component',
        methods: {
            handleSave(data) {
                //保存设计规则
            }
        }
    };
</script>

事件

组件事件列表及详细说明:

事件名称 描述 参数说明
active 组件被选中时触发 rule: Rule - 选中组件的规则对象
copy 组件被复制时触发 rule: Rule - 被复制的组件规则对象
delete 组件被删除时触发 rule: Rule - 被删除的组件规则对象
drag 拖拽新组件到设计器时触发 e: Object - 包含拖拽规则和组件信息
inputData 录入数据模式下保存数据时触发 formData: Object - 当前录入的表单数据
inputPageData 弹窗中保存录入数据时触发 formData: Object - 弹窗中录入的表单数据
save 点击保存按钮时触发 data: {rule: string, options: string} - 包含当前表单规则和配置
clear 设计表单被清空时触发 -
changeDevice 修改区域显示方式时触发 -
switchForm 切换表单时触发 -
copyRule 复制规则时触发 rule: Object - 被复制的规则对象
pasteRule 粘贴规则时触发 rule: Object - 被粘贴的规则对象
previewSubmit 预览弹窗中提交表单时触发 formData: Object - 提交的表单数据 api: Object - 表单API对象
previewReset 预览弹窗中重置表单时触发 api: Object - 表单API对象

类型定义

typescript 复制代码
// 组件操作相关事件
type Active = (rule: Rule) => void;
type Copy = (rule: Rule) => void;
type Delete = (rule: Rule) => void;
type Drag = (e: { dragRule: Object, item: Object }) => void;

// 数据操作相关事件
type InputData = (formData: Record<string, Object>) => void;
type InputPageData = (formData: Record<string, Object>) => void;
type Save = (data: { rule: string, options: string }) => void;
type Clear = () => void;

// 界面操作相关事件
type ChangeDevice = () => void;
type SwitchForm = () => void;

// 规则操作相关事件
type CopyRule = (rule: Object) => void;
type PasteRule = (rule: Object) => void;

// 预览相关事件
type PreviewSubmit = (formData: Record<string, Object>, api: Object) => void;
type PreviewReset = (api: Object) => void;
相关推荐
小林ixn21 分钟前
从 onclick 到 React 合成事件,再到完整应用逻辑:一次前端架构的深度剖析
前端·react.js·前端框架
Csvn1 小时前
🧩「找不到模块」排查全记录——Monorepo 下 TypeScript 路径别名的 5 种「不通」与根治方案
前端
腻害兔1 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:字典、短信、邮件、通知——后台系统的“基础设施四件套“!
java·前端·vue.js·产品经理·ai编程
冬奇Lab1 小时前
每日一个开源项目(第164篇):毕昇(BISHENG)- 面向企业的开源 LLM DevOps 平台
人工智能·开源·agent
CodexDave1 小时前
MySQL事务隔离级别与MVCC机制解析
前端·数据库·mysql·nginx·性能优化·负载均衡
CCPC不拿奖不改名2 小时前
大模型推理架构与开源生态知识整理
数据库·windows·python·架构·langchain·开源·github
Ai_easygo2 小时前
AI Agent开发入门——从ReAct到Tool Calling,拆解Agent的底层运行逻辑
前端·人工智能·react.js
研☆香2 小时前
分析制作html页面,如何划分页面结构
前端
腻害兔3 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:支付模块 yudao-module-pay,一个让产品经理都看懂的支付中台设计
java·前端·vue.js·产品经理·ai编程
kyriewen3 小时前
我扒了最近的前端面经——2026年面试不背八股文了,考这5样
前端·面试·ai编程