---
title: "Populate single select and multiselect widgets"
slug: "populate-single-select-and-multiselect-widgets"
tags: ["App Editor (Route)", "Widget", "Widgets"]
updated: 2022-09-30T18:56:46Z
published: 2022-09-30T18:56:46Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.tulip.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Populate single select and multiselect widgets

*Only display the currently applicable options in a dropdown Widget*

**In this article you will learn...**

- **How to conditionally change the content of a dropdown widget**

---

To best understand this article, make sure you have understood the basics of Single or Multiselect Widgets: [Article](https://support.tulip.co/docs/adding-input-widgets-to-normal-steps)

Using the dropdown widgets can be very powerful, especially when leveraging Arrays to populate them. But sometimes it is relevant to show different content to pick from, based on a condition. This can be achieved with a configuration table that contains the condition in the ID field as well as the different options comma-separated in the second field.

![Dynamically populating Single or Multiselect widgets_339020728.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Dynamically%20populating%20Single%20or%20Multiselect%20widgets_339020728.png)

In a first selection widget, the downtime reason can be selected and with the click of a button, the respective dropdown options can be loaded from the Table. A trigger to do this would look like this:

![Dynamically populating Single or Multiselect widgets_339020868.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Dynamically%20populating%20Single%20or%20Multiselect%20widgets_339020868.png)

The comma-separated text corresponding to the selected downtime reason is loaded into the Record Placeholder. The 'Split String'-function saves them to the array 'Dropdown options'. This Array is then populating the second single select widget.

When running the app, the second single select won't show any options as long as no downtime reason has been selected:

![Dynamically populating Single or Multiselect widgets_339022458.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Dynamically%20populating%20Single%20or%20Multiselect%20widgets_339022458.png)

When a selection is picked in the first dropdown, and the Trigger on the button is applied, the second dropdown is populated accordingly:

![Dynamically populating Single or Multiselect widgets_339022578.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Dynamically%20populating%20Single%20or%20Multiselect%20widgets_339022578.png)

---

Did you find what you were looking for?

You can also head to [community.tulip.co](https://community.tulip.co/?utm_source=intercom&amp;utm_medium=article-link&amp;utm_campaign=all) to post your question or see if others have faced a similar question!

**Widget**

**Widgets**are the elements that make up a specific **App Step.**Widgets can display information to users, collect user input, or trigger app logic.

*Common widgets include: Interactive Tables, Number inputs, Machine attribute widgets, and more.*

**Widgets**

**Widgets**are the elements that make up a specific **App Step.**Widgets can display information to users, collect user input, or trigger app logic.

*Common widgets include: Interactive Tables, Number inputs, Machine attribute widgets, and more.*

**Array**

**Arrays**are a Tulip Datatype. Arrays are a list of other variables. Every element in an array must be the same type.

Arrays are very useful when managing multiple values that represent the same information.

*ex. The measurements of 10 quality checks can be stored in an Array of Numbers, as opposed to 10 Number variables.*

**Tulip Tables**

**Tulip Tables** are a global location to store your production data. **Tables** are made up of **Records** (rows). A single can be accessed from multiple apps or stations at the same time. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Tulip%20Tables%20Overview%20-%20Feature%20Overview(1).gif)

**Table Record Placeholder**

A **Table Record Placeholder** is a reference to a row in a **Tulip Table**. Table Records can be created either from the Table UI or from an App Trigger.

**Trigger**

**Triggers** are groups of logic that are tied to an app event, such as step open, timer, widget interaction, etc. App builders can add triggers to **widgets**, **machines**, **devices**, **apps**, and **steps**.

**Triggers** can contain **actions**, **transitions**, and **conditions**.
