设置UI引擎前端页面表单组件属性
表单组件由表单容器组件(form)、表单项容器组件(form-item)及各类表单元素(输入框、下拉框、日期选择器等)嵌套组合而成。该组件广泛用于数据收集、验证与提交场景,例如设备参数配置、生产计划录入等。支持表单全局禁用、布局自定义、多规则校验、异步校验等核心功能,可结合业务规则实现数据的标准化录入,保障生产、设备、物料等核心数据的准确性与合规性。
前提条件
已在当前页面添加“表单”组件,具体操作请参见为UI引擎前端页面添加物料组件。
配置入口
- 在页面设计器的中心画布区,单击选中“表单”组件。
- 在右侧设置面板中,单击
,即可展开“属性”设置面板。
Form组件-基础属性
|
属性名称 |
说明 |
是否支持变量绑定 |
|---|---|---|
|
添加表单项 |
用于在表单容器中插入表单元素。插入位置为默认按钮元素之前,仅支持设计器可视化操作,不可通过变量绑定动态调整。具体配置请参见表1。 |
否 |
|
禁用 |
是否禁用整个表单。 如果设置为“true”,则表单下的所有表单元素都会被禁用。 |
是 |
|
行内布局 |
是否启用行内布局模式,多个表单项会在一行展示。 |
是 |
|
必填标识占位 |
是否隐藏必填字段标签旁边的红色星号。 |
是 |
|
标签溢出隐藏 |
标签超长时是否以“tooltip”形式展示完整文本。 |
是 |
|
标签宽度 |
表单中标签的占位宽度,单位为像素或百分比。 |
是 |
|
标签后缀 |
为所有的标签添加统一的后缀。 |
是 |
|
标签位置 |
标签的位置,可选值:“right”(右对齐)、“left”(左对齐)、“top”(标签单独一行然后左对齐)。默认为“top”。 |
是 |
Form组件-校验属性
|
属性名称 |
说明 |
是否支持变量绑定 |
|---|---|---|
|
数据对象 |
表单数据存储对象,格式为键值对。示例: {equipmentNo: '', temperature: 0, productionDate: ''}
每个键对应一个表单项的校验字段。 |
是 |
|
校验规则 |
表单验证规则配置对象,数据结构定义如下: { [prop: string]: FormRuleItem[] }
其中,“prop”为表单项的校验字段,对应值为该字段的校验规则数组,具体配置请参见表2。 |
是 |
|
校验提示类型 |
校验失败时错误提示的展示方式,默认为“tip”。
|
是 |
|
属性名称 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
required |
Boolean |
否 |
标识当前表单项是否为必填项。 设置为“true”时,空值将触发校验失败。 |
|
message |
String |
否 |
校验失败时展示给用户的提示文案(如“请输入设备编号”)。 |
|
type |
Enum |
否 |
内置的校验类型,可选值:date、dateTime、float、array、number、url、time、email、object、boolean。 |
|
trigger |
String | Array<String> |
否 |
校验触发时机,默认为“["change", "blur"]”。 仅需主动校验时可设置为空数组“[]”。 |
|
validator |
(rule, value, callback: (err?: Error) => void, data?, options?) => void |
否 |
自定义同步校验函数。 内置校验不满足需求时使用,通过“callback”函数回调标识校验结果:
|
|
asyncValidator |
(rule, value, callback: (err?: Error) => void, data?, options?) => Promise<any> |
否 |
自定义异步校验函数。通过“Promise”状态标识校验结果:
|
其他
如下属性适用于UI引擎所有组件,用于精细化控制。
|
属性名称 |
说明 |
是否支持变量绑定 |
|---|---|---|
|
元素id值 |
对应HTML标签的“id”属性,同一页面内必须唯一。 |
是 |
|
样式类 |
对应HTML标签的“class”属性,为空格分隔的类名列表,用于自定义组件样式。默认为“component-base-style”。 |
是 |
|
ref引用类 |
对应Vue的“ref”属性,用于注册模板引用以访问组件实例方法。 如果为“数据源表单”组件,会自动填充默认值。 |
是 |
Form组件-组件事件
|
事件名称 |
类型定义 |
说明 |
|---|---|---|
|
validate |
(prop: string, isValid: boolean, message: string) => void |
任一表单项被校验后触发。
|
Form组件-组件实例方法
|
方法名称 |
类型定义 |
说明 |
|---|---|---|
|
clearValidate |
(prop: string | string[]) => void |
移除表单项校验结果。
|
|
resetFields |
() => void |
对整个表单进行重置,将所有字段值重置为初始值并移除校验结果。 |
|
validate |
(callback: (isValid: boolean, fields?: Array<Object>)) => Promise<boolean> |
校验整个表单。
|
|
validateField |
(field: string, callback: (msg: string, field: Object ) => void) => void |
校验指定表单字段。
|
访问组件实例使用方法:
// 调用表单校验方法(其他方法调用方式类似)
this.$('ref引用类').validate((isValid, fields) => {
if (isValid) {
console.log('表单校验通过,可提交数据');
} else {
console.log('表单校验失败,失败字段:', fields);
}
});
组件实例只能在JS面板中访问。
FormItem组件-基础属性
|
属性名称 |
说明 |
是否支持变量绑定 |
|---|---|---|
|
标签文本 |
表单项对应的标签文本。 |
是 |
|
校验字段 |
对应Form组件-校验属性中“数据对象”的属性名称,必须与“Form”校验规则中的字段一致,确保校验功能生效。 |
是 |
|
必填 |
标识表单项是否为必填项,优先级高于Form组件-校验属性中的“required”属性。 |
是 |
FormItem组件-插槽信息
|
插槽名称 |
说明 |
|---|---|
|
标签名 |
用于自定义表单项标签内容。 配置式标签仅支持纯文本,如需在标签后添加图标、链接等额外内容,需通过该插槽实现。 |