# SelectControl

Canonical page: https://www.adaptabletools.com/docs/reference/selectcontrol

A dropdown that fires `onChange` when a value is selected (e.g. to set a status).

```ts title="TypeScript"
export interface SelectControl<TData = any, CTX = ActionColumnContext<TData>> extends BaseControl<TData, CTX> 
```

###### Extends

[`BaseControl`](https://www.adaptabletools.com/docs/reference/basecontrol.md)`<TData, CTX>`

## Properties

| Property | Type | Description |
| --- | --- | --- |
| [onChange](https://www.adaptabletools.com/docs/reference/selectcontrol.md#onchange) | `(value: string, context: CTX) => void \| Promise<void>` | Handler invoked when the selected value changes. May return a `Promise`. |
| [options](https://www.adaptabletools.com/docs/reference/selectcontrol.md#options) | [`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<`[`AdaptableFormFieldOption`](https://www.adaptabletools.com/docs/reference/adaptableformfieldoption.md)`[], CTX>` | The options to choose from - a static array or a function of the context.<br/>Reuses  so Forms and Action Columns share one vocabulary. |
| [placeholder](https://www.adaptabletools.com/docs/reference/selectcontrol.md#placeholder) | `string` | Placeholder shown when no value is selected. |
| [type](https://www.adaptabletools.com/docs/reference/selectcontrol.md#type) | `'select'` | Discriminator. Set to `'select'`. |
| [value](https://www.adaptabletools.com/docs/reference/selectcontrol.md#value) | [`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<string, CTX>` | The currently selected value - static or a function of the context. |

## Property Details

### onChange

Handler invoked when the selected value changes. May return a `Promise`.

```ts title="TypeScript"
onChange: (value: string, context: CTX) => void | Promise<void>;
```

###### Property Value

`(value: string, context: CTX) => void | Promise<void>`

### options

The options to choose from - a static array or a function of the context.
Reuses  so Forms and Action Columns share one vocabulary.

```ts title="TypeScript"
options: ValueOrFunction<AdaptableFormFieldOption[], CTX>;
```

###### Property Value

[`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<`[`AdaptableFormFieldOption`](https://www.adaptabletools.com/docs/reference/adaptableformfieldoption.md)`[], CTX>`

### placeholder

Placeholder shown when no value is selected.

```ts title="TypeScript"
placeholder?: string;
```

###### Property Value

`string`

### type

Discriminator. Set to `'select'`.

```ts title="TypeScript"
type: 'select';
```

###### Property Value

`'select'`

### value

The currently selected value - static or a function of the context.

```ts title="TypeScript"
value: ValueOrFunction<string, CTX>;
```

###### Property Value

[`ValueOrFunction`](https://www.adaptabletools.com/docs/reference/valueorfunction.md)`<string, CTX>`
