--- title: "Dropdown Component" slug: "dropdown-component" tags: ["module-builder"] updated: 2026-09-15T17:05:40Z published: 2026-09-15T17:05:40Z canonical: "docs.unqork.io/dropdown-component" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # Dropdown Component The Dropdown component presents a single-select drop-down control for choosing one option from a list. Options can be defined manually, loaded from a URL, or referenced from another field. > **How to read settings tables** > > The tables below describe each configurable option as it displays in the UnqorkAI platform. Values are formatted as follows: `inline code` — a value to type exactly as shown | **Bold** — a value selected from a drop-down, radio button, tab, or choice chip | **ON**/**OFF** — toggle state | ✓ — checkbox checked | ☐ — checkbox unchecked ## General Settings | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Property ID | `key` | Text input | `basicDropdown` | The unique identifier for this component instance. | ## Display Settings ### Field Text | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Label Text | `label` | Text input | — | Identifies the component on the canvas and informs end-users what information is requested. | | Placeholder Text | `placeholder` | Text input | — | Hint text displayed inside the drop-down before a selection is made. | ### Contextual Help | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Tooltip | `description` | Text input | — | A brief description that displays when a cursor is positioned over the tooltip icon. | ### Default State Options | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Hide Label | `hideLabel` | Toggle | OFF | Hides the label. The label remains visible in the Module Builder. | | Display as Text | `readOnlyView` | Toggle | OFF | Displays the stored value as plain text without the drop-down input. Shows `None` when empty. | | Disable User Input | `disabled` | Toggle | OFF | Prevents end-users from making a selection. The component displays with an altered appearance to indicate it is not editable. | | Hide Field | `hidden` | Toggle | OFF | Hides the component from end-users but always displays in the Module Builder. | ## Data Settings ### Data Source Type | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Data Source Type | `dataSource` | Choice chip | **Values** | Sets how options are loaded. | > **Values** — Manually define a list of options. > > | Column | Field | Type | Description | > | --- | --- | --- | --- | > | Option Label | `label` | Text input | The display text shown to end-users for each option. | > | Option Value | `value` | Text input | The value stored in the database when the option is selected. | > **URL** — Fetch options from an external endpoint. > > HTTP request headers to include with the data fetch: > > | Column | Field | Type | Description | > | --- | --- | --- | --- | > | Request Header | `label` | Text input | The HTTP request header name. | > | Option Value | `value` | Text input | The value for the header. | > > | Setting | Field | Type | Default | Description | > | --- | --- | --- | --- | --- | > | Data Source URL | `data.url` | Text input | — | A URL that returns a JSON array to use as the option source. | > | Data Path | `dataPath` | Text input | — | The property in the response where iterable items reside (for example, `results.items`). | > | Filter Query | `filter` | Text input | — | Additional filtering using query parameters. | > | Refresh On | `refreshOn` | Property ID | — | Triggers a data refresh when the specified field changes. | > | Require Search Parameters | `hasRequiredFields` | Toggle | OFF | Prevents the data fetch from executing if required query parameters are not present. | > | Clear Value On Refresh | `clearOnRefresh` | Toggle | OFF | Clears the selected value when the Refresh On field changes. | > | Authenticate | `authenticate` | Toggle | OFF | Sends authentication headers from the application with the request. | > | Value Property | `valueProperty` | Text input | — | The property in each array item to use as the stored value. | > | Label Path | `labelProperty` | Text input | — | The property in each array item to use as the display label (for example, `label`, `name`). | > **Data Reference Key** — Load options from another module field. > > | Setting | Field | Type | Default | Description | > | --- | --- | --- | --- | --- | > | Data Reference Key | `data.dataReferenceKey` | Property ID | — | The Property ID of a field that returns a JSON array to use as the option source. | > | Value Property | `valueProperty` | Text input | — | The property in each item to use as the stored value. | > | Label Path | `labelProperty` | Text input | — | The property in each item to use as the display label. | > | Refresh On | `refreshOn` | Property ID | — | Triggers a data refresh when the specified field changes. | ### Data Storage | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Store Data in Database | `persistent` | Toggle | ON | When set to **ON**, this setting this setting stores field values to the database when the module saves, end-users navigate between Panel components, or end-users navigate between workflow screens. Set to **OFF** to exclude this field from server-side submissions. | > [!NOTE] > Fields with **Store Data in Database** set to **OFF** are excluded from Plug-In component's API responses and Unqork's built-in tracker. When using a Plug-In component to remote-execute a module, any component whose value must be included in the API response requires **Store Data in Database** set to **ON**. ## Actions Settings ### Triggers | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Trigger | `trigger` | Property ID | — | Triggers another component when the selection changes. | ## Validation Settings ### User Input | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Required | `validate.required` | Toggle | OFF | Requires a selection before the module can be submitted. | | Required Error Message | `errors.required` | Text input | `is required` | Displays when the required field has no selection. | ## Advanced Settings | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Custom CSS Class | `customClass` | Text input | — | A CSS class applied to the component for custom styling. | ## Operations Builder This component supports the [Operations Builder](/unqorkai/docs/operations-builder) in Vega modules. When the module or panel runtime is set to **Vega (2.0)**, an **Event Handlers** section displays in the settings panel for configuring event-driven operations. A URL (uniform resource locator) is a unique identifier used to locate a resource on the internet. Also known as a web address. A Property ID is the unique field ID used by Unqork to track and link components in your module. Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. End-users, also known as Express Users, are the individuals accessing an application through Express View. In most cases, end-users are the customers using the product. Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. The VCS (version control system) Contributor role has permissions to edit modules in a branch. Set contributors during the VCS Create a Branch process. An API endpoint is the location where an API receives requests for a specific resource on its server. It's the point of contact between an API client and an API server, and is usually a uniform resource locator (URL) that provides the location of the resource. HTTP (Hypertext Transfer Protocol) is an application-layer protocol used to transmit hypermedia documents like HTML. Fetching is the process of retrieving data from a database, making it available to the application and the end-user. JSON (JavaScript Object Notation) is an open standard file and data interchange format. Unqork uses JSON for submission (record) data. An array is a type of object that stores one or more data types. Data types supported in arrays include numbers, strings, and objects. A JavaScript property is a member of an object that associates a key with a value. A JavaScript object is a data structure that stores a collection of properties. A query lets you retrieve, access, manipulate, and delete data in a database. APIs (application programming interfaces) are a set of protocols and definitions developers use to build and integrate application software. APIs act as the connective tissue between products and services. Cascading Style Sheets (CSS) is a style sheet language used for presenting how a HTML or XML document looks to end-users. The Vega (v 2.0.0) runtime is the next-generation engine of the UDesigner platform. Vega uses cutting-edge technologies to improve the Creator and end-user experience. The Vega (v 2.0.0) runtime is the next-generation engine of the UDesigner platform. Vega uses cutting-edge technologies to improve the Creator and end-user experience.