---
url: "https://vueda.dev/v3/reference/api/js/use/useFormModel/functions/useFormModel.md"
title: "useFormModel"
---

# useFormModel

## Overview

Using server model info and client model config, this hook provides the necessary reactive state for a form model.

## Signature

`useFormModel(props)`

### Parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| <span id="param-props">props</span> | `object` | yes | The reactive arguments. |

#### props Properties

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="param-props-expand">expand</span> | `string[]` |  |  | The fields to expand, if different from the default |
| <span id="param-props-fieldComponents">fieldComponents</span> | `object` |  |  | The field components to use, if different from the default, by field path |
| <span id="param-props-fieldProps">fieldProps</span> | `object` |  |  | The field props to use, if different from the default, by field path |
| <span id="param-props-fields">fields</span> | `string[]` |  |  | The fields to display, if different from the default |
| <span id="param-props-widgetComponents">widgetComponents</span> | `object` |  |  | The widget components to use, if different from the default, by field path |
| <span id="param-props-widgetProps">widgetProps</span> | `object` |  |  | The widget props to use, if different from the default, by field path |

### Returns

`The reactive state.`

## Source

`client/lib/use/useFormModel.js:133`
