# Multi select

The **Multi Select** allows the user to perform a selection of zero to many entries in a droplist. Its functionality is essentially the same as the **Select** component, but the user can select more than one object.

{% hint style="info" %}
A full example setup on **Multi Select** is available in our [Showroom](https://showroom.appfarm.app/ui-components/multiselect). You may view a demo, as well as access the setup in Appfarm Create. If you do not have access, you may register on [Showroom Signup](https://showroom.appfarm.app/sign-up).
{% endhint %}

## Properties

### Selection Type

The Multi select component has two selection types - `Basic` and `Property`.

* `Property` allows the user to choose an entry from a list of options, and the option selected is stored in a [Many-cardinality](/reference/data-model/object-class-properties.md) (multi-reference) property or variable (defined by the `Value` setting). \
  **Example**: A droplist where you select the `Tags`for a `Person`. The Value is `Person.Tags` (multi-reference). The options are the `Tags` data source.
* `Basic` allows the user to select one or many entries from a list of options, and when an entry is selected, that entry is marked as [selected](/reference/platform-concepts/objects.md#object-selection) in the data source holding the options.\
  **Example**: A data source `Projects` holds all projects you have access to. When selecting two Projects in the list, those projects are marked as selected. This is useful when you have a UI that displays information about the selected Projects, and for example, if you have a `Tasks` data source that is filtered towards the selected Projects.

### Options

Select the Data Source that holds the options that the user can choose from.&#x20;

### Display Value

Select which **property** of the Data Source (selected as Option) that should be displayed for the options of the Multi Select.

### Filter

If you do not want all entries of the Data Source to be selectable, you may apply a filter here to limit the rows of the Multi Select.

### Conditional Filter

You may also choose to have a dynamic filter on the Data Source, that is applied given certain conditions.

### Autocomplete

If the list of options is long, you should consider checking this setting. It allows for searching the options of the Multi Select.

### Error

Select a value to assign an error state to the component.

### Event Handlers

Event Handlers can detect a specific event occurring in Appfarm Create and can link these events to actions. Three Event Handlers are available for the **Multi select** component:

**On Value Change**: This Event Handler will run an action when a change is detected in the data source bound to the component. For example, if the data input changes from false to true, or vice versa, a specific action can be performed.

**On Open**: Specify an action to run when the droplist is opened.

**On Close**: Specify an action to run when the droplist is closed.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.appfarm.io/library/ui-components/multi-select.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
