更新时间:2026-03-16 GMT+08:00
分享

设置UI引擎前端页面数据源表单组件属性

数据源表单是UI引擎基于“数据源”功能封装的高效表单组件,支持根据选定的数据源自动生成对应表单项,无需手动配置单个表单元素,大幅提升表单开发效率。

以下为该组件的完整属性配置流程及说明。

前提条件

配置入口

  1. 在页面设计器的中心画布区,单击选中“数据源表单”组件。
  2. 在右侧设置面板中,单击,即可展开“属性”设置面板。

模型属性

此部分的属性用于定义表单的数据源类型及数据规则,是组件生效的关键。

属性名称

说明

是否支持变量绑定

数据源来源

定义表单数据的获取方式。

  • API:调用“数据源管理”中已配置的API,动态获取数据。适用于字段需从后端实时加载的场景。
  • JSON:手动输入静态的JSON数据作为数据源。适用于字段固定或快速原型设计的场景。

具体配置请参见数据源配置

配置项数据

根据所选模式展示具体配置内容:

  • API模式:自动关联所选数据源、API及字段集合,无需手动输入。
  • JSON模式:手动输入JSON格式的数据源数据。

数据源配置

单击“数据源来源”右侧的,在弹出的窗口中,根据选择的“数据源来源”(API/JSON)完成对应参数配置。

参数名称

说明

数据源来源

选择“API”“JSON”,决定表单的数据来源类型。

  • “数据源来源”“API”的配置项:

    参数名称

    说明

    选择数据源

    选择需要配置的数据源。

    如果没有可选择的数据源,可单击右侧的“新增”,前往“数据源管理”进行创建,具体操作请参见为UI引擎前端项目创建数据源

    选择API

    选择指定数据源后,进一步指定具体的API。

    选择集合

    选择指定API后,系统列出其返回的数据集合。选择其一以生成字段列表(默认选中第一个非空集合)。

    字段列表

    展示所选集合的所有字段,可配置每个字段是否展示及其对应的表单项类型。

  • “数据源来源”“JSON”的配置项:

    参数名称

    说明

    展示字段映射值

    用于指定从JSON对象中读取哪个属性作为表单项的标签文本。

    如未配置,默认读取JSON对象中的“label”属性。

    prop关键字映射值

    用于指定从JSON对象中读取哪个属性作为表单项的字段名称(key)。

    如未配置,默认读取JSON对象中的“prop”属性。

    类型映射值

    用于指定从JSON对象中读取哪个属性来定义组件的类型。

    如未配置,默认使用“componentType”属性。“componentType”可选值:

    • INPUT(输入框)
    • SELECT(下拉框)
    • RADIOGROUP(单选框组)
    • CHECKBOX(复选框)
    • CHECKBOXGROUP(复选框组)
    • DATEPICKER(日期选择器)
    • TIMEPICKER(时间选择器)
    • NUMERIC(数字输入框)
    • FLUENTEDITOR(富文本)
    • POPEDITOR(弹出编辑)
    • FILEUPLOAD(文件上传)
    • USERSELECTOR(选人组件)

    注意:该属性仅适用于表单组件的类型映射。如当前配置为数据源表格,则此属性的值将被忽略。

    输入JSON数据

    用于配置生成表单项的JSON数组。每个数组元素(对象)代表一个表单项,需包含以下三个关键属性:

    • 展示字段映射值:定义表单项的标签文本(如“label”)。
    • prop关键字映射值:定义表单项的字段名称(key,如“prop”)。
    • 类型映射值:定义表单项的组件类型(如“componentType”)。

    示例:

    [
      {
        "label": "姓名",
        "prop": "name",
        "componentType": "INPUT"
      }
    ]

    用户输入JSON数组后,可通过输入框底部的功能按钮完成以下操作:

    • 点击格式化:对输入的JSON数据进行格式化,提升可读性。
    • 点击生成字段列表:根据输入的JSON数据,解析并生成对应的字段列表。

    字段列表

    用于展示JSON数据生成的字段列表,可以配置字段是否显示与字段对应的组件类型。

基础信息

此部分的属性用于配置表单的展示样式和交互状态,支持部分属性的变量绑定。

属性名称

说明

是否支持变量绑定

组件名称

仅用于展示,显示组件的中文名称,不可编辑。

添加表单项

选定数据源后,手动新增自定义表单项,补充数据源未覆盖的字段。

表单仅展示

控制表单内容是否为只读状态。开启后所有表单项不可编辑。

禁用

控制整个表单是否禁用。开启后表单内所有元素同步禁用。

标签位置

配置表单项标签的显示位置,可选:“左边”、“右边”、“上边”。

标签宽度

统一设置所有表单项标签的文本宽度,单位为“px”

表单列数

设置表单的列布局数量,可选范围为1-5。默认值为2。

列间距

表单列数大于1时生效,设置列与列之间的间距。单位为“px”,默认值为10。

行间距

表单行数大于1时生效,设置行与行之间的间距。单位为“px”,默认值为0。

其他

如下属性适用于UI引擎所有组件,用于精细化控制。

属性名称

说明

是否支持变量绑定

元素id值

对应HTML标签的“id”属性,同一页面内必须唯一。

样式类

对应HTML标签的“class”属性,为空格分隔的类名列表,用于自定义组件样式。默认为“component-base-style”

ref引用类

对应Vue的“ref”属性,用于注册模板引用以访问组件实例方法。

如果为“数据源表单”组件,会自动填充默认值。

组件事件

数据源表单组件内置核心事件,用于监听表单数据变化:

事件名称

类型定义

说明

onUpdate:modelValue

(...args) => void

表单内置数据对象的值发生改变时触发,可用于监听表单数据变化并执行联动逻辑。

onClick

(...args: any) => void

组件被单击时触发。

优先使用组件提供的参数,如果没有,则传递浏览器的“MouseEvent”事件参数,适用于按钮、卡片等可单击组件。

onChange

(...args: any) => void

组件值发生变化时触发。

仅部分组件支持此事件,具体参数由组件实现决定。适用于输入框、下拉选择器等表单组件。

onFocus

(e: Event) => void

元素获得焦点时触发。

传递标准的浏览器“Event”“MouseEvent”对象,适用于输入框等表单元素。

onMousemove

(e: Event) => void

鼠标在组件区域内移动时触发。

实时追踪鼠标在组件区域内的移动轨迹,兼容所有可视化组件,适用于拖拽、悬浮提示、轨迹追踪等场景。

组件实例属性

组件实例属性可通过“ref”引用获取,用于读取表单的核心数据状态:

属性名称

类型

说明

formData

object

表单数据对象,采用标准“key-value”格式存储。

dsFormData

object

基于数据源配置的表单数据对象,可能包含层级结构(与数据源字段对应)。

ref

ComponentRef

底层表单组件(TinyForm)的转接引用,可调用TinyForm实例的原生方法。

组件实例方法

组件实例方法可通过“ref”调用,用于实现表单数据的主动操作和联动控制:

方法名称

类型定义

说明

getDsData

() => object<{
body: object;
custom: object;
mappedData: object;
methodType: string;
query: object;
url: string;
}>

获取数据源的完整数据对象,包含:

  • body:接口请求体参数。
  • custom:手动添加表单项的数据存储对象。
  • mappedData:映射为接口请求参数的表单数据。
  • methodType:HTTP请求方法(如GET、POST)。
  • query:接口URL拼接的查询参数。
  • url:接口请求地址。

updateFormField

(key: string, originKey: string, value: any) => void

手动更新指定表单项的值,适用于表单项之间的数据联动。

  • key:目标表单项的标识。
  • originKey:表单项对应的原始数据源标识。
  • value:待更新的目标值。

相关文档