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

开源FormCreate低代码表单组件的配置项和事件的详解

在使用开源FormCreate低代码表单时,您可以通过各种 props 来定制表单的行为和外观。这些参数允许您控制表单的生成规则、配置选项、双向数据绑定等,为复杂的表单场景提供了强大的支持。

源码地址: Github | Gitee

低代码表单FormCreate

FormCreate组件Props

以下是常用的 props 参数及其详细说明:

rule

  • 类型Array
  • 说明: 表单的生成规则,定义了表单中各个字段的类型、名称、验证规则等。您可以通过该属性指定表单的结构和行为。详细使用方法请参考 表单生成规则

option

  • 类型Object
  • 说明: 配置表单的全局选项,例如表单的提交事件、重置行为、布局方式等。详细配置项请参考 表单全局配置

modelValue(v-model)

  • 类型Object
  • 说明: 用于双向绑定表单数据的属性。通过 v-model,您可以实时获取和设置表单的值,使得表单数据与界面同步。

api(v-model:api)

  • 类型Api
  • 说明: 通过 v-model:api 获取表单的 fApi 实例。fApi 提供了丰富的 API 接口,可以对表单进行操作,如获取数据、验证表单、重置表单等。详细使用方法请参考 表单API

name

  • 类型string
  • 说明: 为表单设置名称。这在需要通过名称来获取表单的 fApi 实例时特别有用,您可以使用 formCreate.getApi(name) 方法来获取对应的 fApi

disabled

  • 类型boolean|undefined
  • 说明: 全局禁用表单。设置为 true 时,表单中的所有字段将被禁用,用户无法进行任何输入。

subForm

  • 类型bool
  • 说明: 指示当前表单是否是子表单。如果设置为 true,则该表单将与父表单同步进行验证和提交操作,默认为 true

extendOption

  • 类型bool
  • 说明: 在表单嵌套时,子表单是否自动继承父表单的配置。默认情况下,子表单会继承父表单的全局配置选项。

inFor

  • 类型bool
  • 说明: 指示表单是否在 v-for 循环中使用。当在循环中渲染多个表单时,设置此属性可以确保表单的唯一性和正确渲染。

index

  • 类型string|number
  • 说明: 表单的唯一标识值。当 index 变化时,表单将被自动清空,这对于在重置表单默认值时非常有用。

driver

  • 类型string|object
  • 说明:用于扩展表单的渲染逻辑。可以指定自定义的渲染器来替代默认的渲染行为,以满足特殊的业务需求。

通过这些 props,FormCreate 提供了高度的灵活性和可配置性。无论是简单的表单,还是复杂的嵌套表单,您都可以通过这些参数轻松地定制表单的行为和外观。我们建议新用户从基础的 ruleoption 配置入手,逐步了解并掌握更多高级参数的使用。

低代码表单FormCreate

FormCreate组件事件

监听表单事件

FormCreate 提供了两种方式来监听表单事件:通过组件直接监听和通过 fApi 监听。

组件监听方式

你可以在模板中直接使用 v-on 或简写的 @ 语法来监听事件。

<form-create @change="onChange"></form-create>

fApi 监听方式

你也可以通过 fApi 对象来监听事件,这种方式更适合在逻辑层面集中管理事件处理。

fApi.on('change',this.onChange);

事件类型

以下是 FormCreate 支持的主要事件类型及其详细说明:

change

  • 类型
  type change = (field:string, value:any,rule:Rule, api:Api, setFlag: boolean)=>void;
  • 说明: 当表单组件的值在组件内部发生变化时触发。如果 setFlag 为 true,表示该变化是由外部手动修改引发的。

created

  • 类型
  type created = (api:Api)=>void;
  • 说明: 在表单实例创建时触发,适合进行一些全局的初始设置。

mounted

  • 类型
  type mounted = (api:Api)=>void;
  • 说明: 表单首次渲染完成后触发,通常用于初始化操作。

submit

  • 类型
  type submit = (formData:Object, api:Api)=>void;
  • 说明: 当用户点击表单提交按钮时触发,或者通过调用 api.submit() 方法手动触发。

remove-field

  • 类型
  type removeField = (field:string, rule:Rule, api:Api)=>void;
  • 说明:当表单中某个字段被移除时触发,用于执行清理或同步操作。

remove-rule

  • 类型
  type removeRule = (rule:Rule, api:Api)=>void;
  • 说明:当某个规则从表单中移除时触发,适用于管理表单规则的动态变化。

repeat-field

  • 类型
  type repeatField = (rule:Rule, api:Api)=>void;
  • 说明:当规则的 field 字段重复时触发,用于处理重复字段的情况。

emit-event

  • 类型
  type emitEvent = (emitName:string, ...args:any[])=>void;
  • 说明: 在组件的 emit 事件被触发时触发,允许你监听并处理自定义事件。

control

  • 类型
  type control = (rule:Rule, api:Api)=>void;
  • 说明: 当组件的 control 生效或失效时触发,适用于控制组件的显示逻辑。

reload

  • 类型
  type reload = (api:Api)=>void;
  • 说明: 在表单重载后触发,用于执行重载后的初始化操作。

通过了解并使用这些事件,开发者可以更好地控制表单的行为和用户交互逻辑,从而打造出更复杂、更具响应性的表单应用。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【二】TDEngine快速入门
  • 深入理解FastAPI的response_model:自动化数据验证与文档生成
  • linux学习之线程2:线程控制与使用
  • 一例pyinstaller打包的cs马鉴赏
  • SprinBoot+Vue校园车辆管理系统的设计与实现
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • 【区块链 + 人才服务】Blockchain Workshop- 区块链编程实践平台 | FISCO BCOS应用案例
  • vue3使用leaflet+trackplayer实现非地图动画轨迹(市场平面图动态轨迹)
  • 汇编语言第一次作业
  • Unity:类塔科夫,塔防网格构建
  • Agent、RAG、LangChain的概念及作用
  • spring security 如何解决跨域的
  • js部分面试题
  • 如何通过可视化大屏,打通智慧城市建设的“最后一公里”?
  • crontab命令:定时任务,周期执行
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【面试系列】之二:关于js原型
  • 78. Subsets
  • ECMAScript6(0):ES6简明参考手册
  • idea + plantuml 画流程图
  • JavaScript HTML DOM
  • JavaScript标准库系列——Math对象和Date对象(二)
  • JS实现简单的MVC模式开发小游戏
  • Laravel Mix运行时关于es2015报错解决方案
  • 欢迎参加第二届中国游戏开发者大会
  • 计算机常识 - 收藏集 - 掘金
  • 面试遇到的一些题
  • 如何设计一个微型分布式架构?
  • 如何选择开源的机器学习框架?
  • 使用agvtool更改app version/build
  • 使用docker-compose进行多节点部署
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 用Python写一份独特的元宵节祝福
  • 在Mac OS X上安装 Ruby运行环境
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • #14vue3生成表单并跳转到外部地址的方式
  • #if #elif #endif
  • #Spring-boot高级
  • #window11设置系统变量#
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (C++哈希表01)
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (篇九)MySQL常用内置函数
  • (区间dp) (经典例题) 石子合并
  • (转)Android学习笔记 --- android任务栈和启动模式
  • ***详解账号泄露:全球约1亿用户已泄露
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .JPG图片,各种压缩率下的文件尺寸