--- group: Widgets title: Select weight: 23 --- - **Name:** `select` - **UI:** Select input - **Data type:** `string`, `number`, `list of strings` or `list of numbers` The select widget allows you to pick a string value from a dropdown menu. ## Widget options For common options, see [Common widget options](/docs/widgets#common-widget-options). | Name | Type | Default | Description | | -------- | ----------------------------------------------------------------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | options | list of strings
\| list of numbers
\| object of `label` and `value` | | | | default | string
\| number
\| list of string
\| list of number | `''` or `[]` | _Optional_. The default value for the field. Accepts a string. Defaults to an empty array if `multiple` is `true` | | multiple | boolean | `false` | _Optional_. Allow multiple values/options to be selected | | min | number | | _Optional_. Minimum number of items. Ignored if **multiple** is `false` | | max | number | | _Optional_. Maximum number of items; ignored if **multiple** is `false` | ## Examples ### Options As Strings ```yaml name: align label: Align Content widget: select options: ['left', 'center', 'right'] ``` ```js name: 'align', label: 'Align Content', widget: 'select', options: ['left', 'center', 'right'], ``` Selecting the `center` option, will save the value as: ```yaml align: center ``` ### Options As Numbers ```yaml name: align label: Align Content widget: select options: [1, 2, 3] ``` ```js name: 'align', label: 'Align Content', widget: 'select', options: [1, 2, 3], ``` Selecting the `2` option, will save the value as: ```yaml align: 2 ``` ### Options As Objects ```yaml name: airport-code label: City widget: select options: - label: Chicago value: ORD - label: Paris value: CDG - label: Tokyo value: HND ``` ```js name: 'airport-code', label: 'City', widget: 'select', options: [ { label: 'Chicago', value: 'ORD' }, { label: 'Paris', value: 'CDG' }, { label: 'Tokyo', value: 'HND' }, ], ``` Selecting the `Chicago` option, will save the value as: ```yaml airport-code: ORD ``` ### Multiple ```yaml name: 'tags' label: 'Tags' widget: 'select' multiple: true options: ['Design', 'UX', 'Dev'] default: ['Design'] ``` ```js name: 'tags', label: 'Tags', widget: 'select', multiple: true, options: ['Design', 'UX', 'Dev'], default: ['Design'], ``` ### Min and Max ```yaml name: 'tags' label: 'Tags' widget: 'select' multiple: true min: 1 max: 3 options: ['Design', 'UX', 'Dev'] default: ['Design'] ``` ```js name: 'tags', label: 'Tags', widget: 'select', multiple: true, min: 1, max: 3, options: ['Design', 'UX', 'Dev'], default: ['Design'], ```