Skip to content

createForm

Creates a Form instance to be consumed as a ViewModel by the UI framework layer

Description

createForm is the core entry function of @silver-formily/core for creating form instances.

Signature

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

IFormProps

PropertyTypeDefaultDescription
valuesObject{}Form values
initialValuesObject{}Form default values
pattern'editable' | 'disabled' | 'readOnly' | 'readPretty''editable'Form interaction pattern
display'visible' | 'hidden' | 'none''visible'Form display mode
hiddenbooleanfalseUI hidden
visiblebooleantrueVisible/hidden (data hidden)
editablebooleantrueEditable
disabledbooleanfalseDisabled
readOnlybooleanfalseRead-only
readPrettybooleanfalseRead-pretty mode
effects(form: Form) => voidSide-effect logic for linkage
validateFirstbooleanfalseStop validation on first error

Usage

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

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

With Side Effects

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)
    })
  },
})