EForm 表单
示例与代码
表单
表单
属性
columnSpacingint相邻内容、列、行或文字间距,单位为像素。
spacingcontentDataalias内容插槽;直接在组件内部声明 QML 子对象。
别名:formGrid.datadisabledbool禁用当前配置作用域内的控件或当前表单。
falseenabledbool是否允许交互;false 时控件禁用。
truefocusFirstErrorbool校验失败时聚焦第一个错误字段。
trueheightreal组件尺寸,单位为像素;可绑定父布局尺寸。
implicitHeighthideRequiredAsteriskbool隐藏必填星号。
falseinlinebool采用行内表单布局。
falseinlineMessagebool以行内方式显示校验消息。
falselabelPositionstring表单标签的位置。
left
right
top
"top"labelSuffixstring追加在标签末尾的文字。
""labelWidthint标签宽度,单位为像素。
0modelvar组件的数据源;数组项结构以当前示例及组件说明为准。
nullrequiredAsteriskPositionstring必填标记相对于标签的位置。
"left" / "right"
"left"rulesvar按字段组织的校验规则对象。
字段:
required, whitespace, type
len, min, max
pattern, enum, oneOf
validator, transform, message
trigger
({})showMessagebool是否显示校验消息。
truesizeint控件尺寸;默认继承最近的 EConfigProvider。
EStyle.SmallEStyle.MediumEStyle.Large
继承 Provider,默认 EStyle.Mediumspacingint相邻内容、列、行或文字间距,单位为像素。
18validateOnChangebool字段值变化时自动校验。
falsevalidateOnRuleChangebool校验规则变化时自动校验。
truevisiblebool是否显示组件。
truewidthreal组件尺寸,单位为像素;可绑定父布局尺寸。
implicitWidthfieldsvar只读当前表单注册的字段项列表。
由运行时计算firstInvalidItemvar只读表单中的第一个无效字段项。
由运行时计算validbool只读二维码编码或表单校验是否有效。
由运行时计算validatingbool只读是否正在执行异步表单校验。
由运行时计算信号
submitted(bool valid, var model)表单提交校验结束时触发,valid 表示是否通过,model 为提交的表单数据。
validationFinished(bool valid, var firstInvalidItem)整体验证完成时触发,valid 表示是否通过,firstInvalidItem 为首个未通过的字段。
fieldValidated(string prop, bool valid, string message)单个字段校验结束时触发,prop 为字段路径,valid 表示是否通过,message 为校验提示。
方法
clearValidation(props)清除校验提示和校验状态,不修改字段值。
modelValue(prop)读取 prop 路径对应的表单数据值。
validateAsync(callback)执行异步校验,通过 callback 接收校验结果。
setModelValue(prop, value)更新 prop 路径对应的表单数据值。
validate(callback)校验当前数据;支持 callback 的组件会将校验结果交给回调。
submit()校验表单并触发 submitted,将校验结果和表单数据交给使用者处理。
getField(prop)返回 prop 指定的表单字段组件。
validateField(props, callback, trigger)校验 props 指定的字段,callback 接收结果,trigger 可限定校验触发类型。
setInitialValues(valuesOrProps)设置表单字段的初始值,供后续 resetFields 使用。
resetFields(props)将 props 指定的字段恢复到初始值并清除校验状态;省略时处理全部字段。
clearValidate(props)清除校验提示和校验状态,不修改当前数据。
scrollToField(prop)将 prop 指定的字段滚动到可见位置。