# 说明
SuitForm
是数据驱动式表单,基于el-form
,el-form-item
进行封装,实现了通过快速的配置,将表单页面生成。
# 基本示例
# 基本使用
Copy
# 换行
Copy
# 事件
Copy
# 验证
Copy
# 过滤器
过滤器分为三种:filter
,viewFilter
,editFitler
,三者重复写只有一个会生效。
Copy
# 自定义渲染
Copy
# 节点更新
Copy
# 参数
# Form
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
data | 表单配置数据 | array | - | [] |
model | 表单绑定的数据 | object | - | {} |
span | 栅格系统,一行有24列 | number | - | 12 |
labelWidth | 表单域标签的宽度,例如 '50px'。作为 Form 直接子元素的 form-item 会继承该值。支持 auto。 | string | - | 100px |
size | 用于控制该表单内组件的尺寸 | string | meduim、small、mini | meduim |
rules | 表单验证规则 | object | - | - |
labelSuffix | 表单域标签的后缀 | string | - | - |
hideRequiredAsterisk | 是否隐藏必填字段的标签旁边的红色星号 | boolean | - | false |
showMessage | 是否显示校验错误信息 | boolean | - | true |
inlineMessage | 是否以行内形式展示校验信息 | boolean | - | false |
statusIcon | 是否在输入框中显示校验结果反馈图标 | boolean | - | false |
validateOnRuleChange | 是否在 rules 属性改变后立即触发一次验证 | boolean | - | true |
disabled | 是否禁用该表单内的所有组件。若设置为 true,则表单内组件上的 disabled 属性不再生效 | boolean | - | false |
isView | 是否为查看状态 | boolean | - | false |
# 方法
方法名 | 说明 | 参数 |
---|---|---|
validate | 对整个表单进行校验的方法,参数为一个回调函数。该回调函数会在校验结束后被调用,并传入两个参数:是否校验成功和未通过校验的字段。若不传入回调函数,则会返回一个 promise | Function(callback: Function(boolean, object)) |
validateField | 对部分表单字段进行校验的方法 | Function(props: array |
resetFields | 对整个表单进行重置,将所有字段值重置为初始值并移除校验结果 | - |
clearValidate | 移除表单项的校验结果。传入待移除的表单项的 prop 属性或者 prop 组成的数组,如不传则移除整个表单的校验结果 | Function(props:array | string) |
updateFormItem | 更新节点信息,通常的使用场景是当一个表单项状态发生变化时,触发另一个表单项状态的变化 | - |
# data配置
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
prop | 表单域 model 字段,在使用 validate、resetFields 方法的情况下,该属性是必填的 | string | 传入 Form 组件的 model 中的字段 | — |
span | 栅格系统,一行有24列 | number | - | 12 |
label | 标签文本 | string | - | - |
br | 是否换行 | boolean | - | false |
comConfig | 组件配置,当出现组件属性中出现 prop,span,label,之类的关键字属性,可以放在comConfig中,但是一般情况下组件设计时不应该出现这些关键字 | object | - | - |
rules | 表单验证规则 | object | - | - |
error | 表单域验证错误信息, 设置该值会使表单验证状态变为error,并显示该错误信息 | string | - | - |
show-message | 是否显示校验错误信息 | boolean | - | true |
inline-message | 以行内形式展示校验信息 | boolean | - | false |
labelWidth | 表单域标签的宽度,例如 '50px'。作为 Form 直接子元素的 form-item 会继承该值。支持 auto。 | string | - | 100px |
width | 表单组件宽度,默认不进行设置 | string | - | - |
filter | 过滤器 | function|string | - | - |
viewFilter | 查看状态下的过滤器 | function|string | - | - |
editFilter | 编辑状态下的过滤器 | function|string | - | - |
labelRender | 标签的自定义渲染,优先级高于label | function | - | - |
viewLabelRender | 在查看状态时,标签的自定义渲染,优先级高于 labelRender | function | - | - |
editLabelRender | 在编辑状态时,标签的自定义渲染,优先级高于 labelRender | function | - | - |
render | 进行表单项的渲染,优先级高级tag | function | - | - |
viewRender | 在查看状态时,进行表单项的渲染,优先级高级tag | function | - | - |
editRender | 在编辑状态时,进行表单项的渲染,优先级高级tag | function | - | - |
onInput | 事件 | function | - | - |
事件 | 事件,需要说明的是,当配置项是驼峰方式存在的前两个字母为on 的,程序都是会判断为事件,事件中会被传入当前父级上下文 | function | - | - |
其它属性 | 使用组件的属性可直接写到配置项中 | - | - |