# Fields

A field in the schema defines an input element to a value of model. For example, if you want to edit the `model.selections` value with a select field, you have to create a field with `select` type, what looks like this:

```javascript
{
    type: "select",
    label: "Selections",
    model: "selections"
},
```

Each field has its own options, so be sure to check out their documentations.\
For example, input field need an `inputType` to be specified as well.

```javascript
{
    type: "input",
    inputType: "text",
    label: "Name",
    model: "name"
},
```

## Available fields

### [Core fields](fields/core-fields)

These fields are available in the core version of VueFormGenerator.

* [`checkbox`](fields/core-fields/checkbox) - Checkbox for boolean values
* [`checklist`](fields/core-fields/checklist) - Checkbox list to select multiple values
* [`input`](fields/core-fields/input) - Common input field `NEW!`
* [`label`](fields/core-fields/label) - Static text (e.g. timestamp, creation time...etc)
* [`radios`](fields/core-fields/radios) - Radio buttons to select `NEW!`
* [`select`](fields/core-fields/select) - Select list
* [`submit`](fields/core-fields/submit) - This is a simple submit button
* [`textArea`](fields/core-fields/textarea) - Text area field

### [Optional fields](fields/optional_fields)

These fields are available in the full version of VueFormGenerator. Some of these also have external dependency.

* [`cleave`](fields/optional_fields/cleave) - Format input text content when you are typing
* [`dateTimePicker`](fields/optional_fields/datetime) - datetime picker with bootstrap-datetimepicker component
* [`googleAddress`](fields/optional_fields/googleaddress) - Format input text content when you are typing
* [`image`](fields/optional_fields/image) - Image select field (URL or upload in base64 string)
* [`masked`](fields/optional_fields/masked) - Masked text input field with maskedinput component
* [`noUiSlider`](fields/optional_fields/nouislider) - Lightweight JavaScript range slider
* [`pikaday`](fields/optional_fields/pikaday) - A refreshing JavaScript Datepicker
* [`selectEx`](fields/optional_fields/selectex) - select list with the bootstrap-select component
* [`slider`](fields/optional_fields/slider) - pretty range slider with ion.rangeSlider component
* [`spectrum`](fields/optional_fields/spectrum) - Color picker with "The No Hassle" Spectrum jQuery Colorpicker component
* [`staticMap`](fields/optional_fields/staticmap) - Display a static map from Google Maps.
* [`switch`](fields/optional_fields/switch) - Switch field (toggle two values (on/off, yes/no, active/inactive)
* [`vueMultiSelect`](fields/optional_fields/vuemultiselect) - Probably the most complete selecting solution for Vue.js

### [Custom fields](fields/custom_fields)

You can create custom fields too. [Check here how you can do it](fields/custom_fields).
