Form 表单
每天写不完的业务代码,提交不尽的表单
基本使用
在 f-form
组件中添加 native-type
为 submit
的按钮,将会触发表单的 on-submit
回调触发提交表单
{
"account": "",
"password": ""
}
开启
表单验证
进行表单验证时,需要传递给 f-form
组件 model
属性来绑定当前表单对象
f-form-item
需要传入 rules
规则和 name
指定属性的名字
需要注意:在表单验证的时候,name 的属性的必须的,它指定了校验 model
对象中的指定键值,如果你没有传递 name,则默认不检测指定项
在 on-submit
回调中,可结构出三个参数,分别是:当前表单是否通过验证、当前验证结果对象、事件对象
{
"account": "",
"password": ""
}
开启
深度校验
表单对象有深层嵌套的情况下,可以指定 f-form-item
层级关系的 name
配置项,以 .
为分隔符
{
"admin": {
"info": {
"username": ""
}
},
"password": ""
}
开启
Form Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
label-width | label 的宽度 | string / number | —— | —— |
label-position | label 位置 | LabelPosition | top left | left |
model | 表单数据对象 | Object | —— | —— |
on-submit | 点击提交按钮后触发的回调 | FormSubmit | —— | —— |
FormItem Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
label | 自定义 label | string | —— | —— |
name | 当前绑定数据对象的键 | string | —— | —— |
rules | 规则 | FormItemRulesItem / FormItemRules | —— | —— |
Form Slots
名称 | 说明 |
---|---|
default | 默认内容 |
FormItem Slots
名称 | 说明 |
---|---|
default | 默认内容 |
Form Methods
参数 | 说明 |
---|---|
submit | 提交表单 |
validate | 表单验证 |
Interface
组件导出以下类型定义:
ts
import type {
FormInstance,
FormProps,
FormSubmit,
LabelPosition,
FormItemInstance,
FormItemProps,
FormItemRulesItem,
FormItemRules
} from 'fighting-design'
FormSubmit
ts
type FormSubmit = (
ok: boolean,
model: object,
res: Record<string, boolean | string>,
evt: SubmitEvent | Event
) => void
FormItemRulesItem
ts
interface FormItemRulesItem {
message?: string
required?: boolean
min?: number
max?: number
regExp?: RegExp
validator?: () => boolean
}
FormItemRules
ts
type FormItemRules = FormItemRulesItem[]
LabelPosition
ts
type LabelPosition = 'left' | 'top'