当前位置: 首页 > article >正文

开源项目低代码表单设计器FcDesigner扩展右侧组件的配置规则

在开源项目低代码表单设计器 FcDesigner 中,您可以通过定制化的配置规则来扩展组件的功能,从而满足特定的业务需求。这些配置规则如 baseRuleformRulecomponentRuleappendConfigData 提供了一种灵活的方法来控制组件、表单的行为和外观。以下是对这些参数的详细解释和一些示例应用,以帮助您更好地理解和使用这些功能。

源码地址: Github | Gitee | 文档

在这里插入图片描述

数据结构

每个配置规则可以定义为一个函数或一个对象,它们返回一个或一组规则。这些规则可以在生成时进行追加、覆盖或前置处理。

type extendRule = ((arg: { t: t }) => Rule[]) | {
  rule: (arg: { t: t }) => Rule[];
  append?: boolean; // 决定是否将规则追加到现有规则后
  prepend?: boolean; // 决定是否将规则添加到现有规则的前面
};

type Config = {
  baseRule?: extendRule;
  formRule?: extendRule;
  componentRule?: {
    default: (rule: Rule, arg: { t: t }) => Rule[] | {
      rule: (rule: Rule, arg: { t: t }) => Rule[];
      append?: boolean;
      prepend?: boolean;
    };
    [id: string]: (rule: Rule, arg: { t: t }) => Rule[] | {
      rule: (rule: Rule, arg: { t: t }) => Rule[];
      append?: boolean;
      prepend?: boolean;
    };
  };
}

扩展表单配置

增加一个备注输入框在表单配置的顶部,用于在创建表单时留出额外的信息输入空间。

<template>
  <fc-designer ref="designer" :config="config"/>
</template>

<script setup>
const config = {
  appendConfigData: ['mark'],
  formRule: {
    prepend: true,
    rule() {
      return [
        { type: 'input', field: 'mark', title: '表单备注' }
      ];
    }
  }
}
</script>

扩展表单组件配置

在表单组件配置的末尾增加一个字段映射输入框,方便进行字段与数据表的映射。

<template>
  <fc-designer ref="designer" :config="config"/>
</template>

<script setup>
const config = {
  appendConfigData(rule) {
    return {
      formCreateDb_field: rule.db_field // 将db_field映射至formCreateDb_field
    };
  },
  formRule: {
    prepend: true,
    rule() {
      return [
        { type: 'input', field: 'mark', title: '表单备注' }
      ];
    }
  }
}
</script>

扩展指定组件配置

为输入框组件增加一个开关,该开关用于设置字段是否必填,并位于配置项的顶部。

<template>
  <fc-designer ref="designer" :config="config"/>
</template>

<script setup>
const config = {
  appendConfigData: ['mark'],
  componentRule: {
    default: {
      prepend: true,
      rule() {
        return [
          { type: 'input', field: 'mark', title: '备注' }
        ];
      }
    },
    input: {
      prepend: true,
      rule() {
        return [
          { type: 'switch', field: '$required', title: '是否必填' }
        ];
      }
    }
  }
}
</script>

通过这些配置,您可以便捷地自定义和扩展表单设计器中的功能,以更好地适应各种特殊的业务需求。希望这些示例能够帮助您更好地上手使用 formCreateDesigner。


http://www.kler.cn/a/394742.html

相关文章:

  • 现代无线通信接收机架构:超外差、零中频与低中频的比较分析
  • Spring Cloud Gateway(分发请求)
  • 【常见问题解答】远程桌面无法复制粘贴的解决方法
  • 将Excel文件的两个表格经过验证后分别读取到Excel表和数据库
  • Vue 的生命周期函数 和 Vuex
  • 第74期 | GPTSecurity周报
  • Spring Cloud Gateway(分发请求)
  • 边缘提取函数 [OPENCV--2]
  • 数据结构的时间复杂度和空间复杂度
  • 推荐一款CFD/CAE可视化分析软件:Tecplot 360 EX
  • Unity 中使用 C# 对 Vector2 向量朝向进行顺时针排序及复杂排序场景处理
  • Leetcode 存在重复元素II
  • 深入探索:Scrapy深度爬取策略与实践
  • Linux(文件特殊属性 + FACL 图片+大白话)
  • 机器学习基础04
  • Java项目实战II基于微信小程序的实习记录(开发文档+数据库+源码)
  • Unity3D 制作MMORPG 3D地图编辑器详解
  • FBX福币交易所恒指收跌1.96% 半导体股继续回调
  • SpringBoot整合Freemarker(四)
  • ‘nodemon‘ 不是内部或外部命令,也不是可运行的程序
  • Rollup failed to resolve import “destr“ from ***/node_modules/pinia-plugin-pers
  • Jmeter基础篇(23)TPS和QPS的异同
  • android bootchart安装使用指南
  • PHP Session
  • qt QFrame详解
  • 企望制造ERP drawGrid.action 接口SQL注入漏洞复现 [附POC]