Skip to content
On this page

Form 表单

每天写不完的业务代码,提交不尽的表单

基本使用

f-form 组件中添加 native-typesubmit 的按钮,将会触发表单的 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-widthlabel 的宽度string / number————
label-positionlabel 位置LabelPositiontop leftleft
model表单数据对象Object————
on-submit点击提交按钮后触发的回调FormSubmit————

FormItem Attributes

参数说明类型可选值默认值
label自定义 labelstring————
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'

Contributors