Skip to content

createForm

创建一个 Form 实例,作为 ViewModel 供 UI 框架层消费

描述

createForm@silver-formily/core 的核心入口函数,用于创建表单实例。

签名

ts
interface createForm {
  (props?: IFormProps): Form
}

IFormProps

属性类型默认值说明
valuesObject{}表单值
initialValuesObject{}表单默认值
pattern'editable' | 'disabled' | 'readOnly' | 'readPretty''editable'表单交互模式
display'visible' | 'hidden' | 'none''visible'表单显隐
hiddenbooleanfalseUI 隐藏
visiblebooleantrue显示/隐藏(数据隐藏)
editablebooleantrue是否可编辑
disabledbooleanfalse是否禁用
readOnlybooleanfalse是否只读
readPrettybooleanfalse是否优雅阅读态
effects(form: Form) => void副作用逻辑,用于实现各种联动逻辑
validateFirstbooleanfalse是否只校验第一个非法规则
designablebooleanfalse是否设计态

用例

ts
import { createForm } from '@silver-formily/core'

const form = createForm({
  initialValues: {
    say: 'hello',
  },
})

带副作用的表单

ts
import { createForm, onFieldValueChange, onFormSubmit } from '@silver-formily/core'

const form = createForm({
  effects() {
    onFieldValueChange('username', (field) => {
      console.log('changed:', field.value)
    })
    onFormSubmit((form) => {
      console.log('submitting:', form.values)
    })
  },
})