Skip to content

Designer Events ​

Component event listening methods and event details.

Vue3

vue
<template>
    <fc-designer @save="handleSave"/>
</template>
<script setup>
    import {onMounted} from "vue";
    const designer = ref(null);
    function handleSave(data) {
        // Save design rules
    }
</script>
Vue2
vue
<template>
    <fc-designer @save="handleSave"></fc-designer>
</template>
<script>
    export default {
        name: 'Component',
        methods: {
            handleSave(data) {
                // Save design rules
            }
        }
    };
</script>

Events ​

Component event list:

Event NameDescriptionParameter Description
activeTriggered when component is selectedrule: Rule - Rule object of selected component
copyTriggered when component is copiedrule: Rule - Rule object of copied component
deleteTriggered when component is deletedrule: Rule - Rule object of deleted component
dragTriggered when new component is dragged into designere: Object - Contains drag rule and component information
inputDataTriggered when data is saved in data entry modeformData: Object - Currently entered form data
saveTriggered when save button is clickeddata: {rule: string, options: string} - Contains current form rules and configuration
clearTriggered when design form is cleared-
changeDeviceTriggered when display mode is changed-
copyRuleTriggered when rule is copiedrule: Object - Rule object that was copied
pasteRuleTriggered when rule is pastedrule: Object - Rule object that was pasted
previewSubmitTriggered when form is submitted in preview dialogformData: Object - Submitted form data
api: Object - Form API object
previewResetTriggered when form is reset in preview dialogapi: Object - Form API object
changeFieldTriggered when component's field ID is modifiede: Object - Contains field ID and component rule

Examples ​

Listen to Component ID Changes ​

Listen to the changeField event to get real-time form component ID (field) change information, including new ID, old ID, and component rule:

vue
<template>
    <fc-designer @changeField="handle"></fc-designer>
</template>
<script>
    export default {
        name: 'Component',
        methods: {
            handle({field, oldField, rule}) {
                // TODO
            }
        }
    };
</script>

Listen to Form Submission in Preview Dialog ​

By listening to the previewSubmit event, you can capture data generated when submitting forms in the preview dialog of the form designer, enabling saving form data or other custom processing logic.

vue
<template>
    <fc-designer @previewSubmit="handle"></fc-designer>
</template>
<script>
    export default {
        name: 'Component',
        methods: {
            handle({formData, api}) {
                // Save data
            }
        }
    };
</script>

Type Definitions ​

Expand
typescript
// Component operation related events
type Active = (rule: Rule) => void;
type Copy = (rule: Rule) => void;
type Delete = (rule: Rule) => void;
type Drag = (e: { dragRule: Object, item: Object }) => void;

// Data operation related events
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;

// Interface operation related events
type ChangeDevice = () => void;
type SwitchForm = () => void;

// Rule operation related events
type CopyRule = (rule: Object) => void;
type PasteRule = (rule: Object) => void;

// Preview related events
type PreviewSubmit = (formData: Record<string, Object>, api: Object) => void;
type PreviewReset = (api: Object) => void;