You point a drop-down’s Default at a variable, change the variable, and the drop-down ignores you. Or it shows New when you expected something else, with no error to explain why.
In this tutorial, we’ll cover the Power Apps set dropdown default value to variable pattern on a real Service Requests app: where to set the variable, why a blank or misspelled value quietly falls back to the first item, and how Reset re-applies a new default after the user has picked something.
Quick answer: Set the drop-down’s Default property to a variable such as varDefaultStatus, then give it a value with Set(varDefaultStatus, "In Progress") in the screen’s OnVisible or a button’s OnSelect. If the user has already picked a value, add Reset(ddStatusVar) after the Set so the control goes back to the new default.
What You Need Before You Start
We use the classic Drop down control here, the one most apps still have. If you’ve never added one, our Power Apps dropdown control guide covers the basics. You’ll need:
- A Microsoft 365 account that can create canvas apps
- A SharePoint list with a Choice column (ours is Status with New, In Progress and Closed)
- About 15 minutes to build one test screen
Our sample list is Service Requests on the /sites/SPGuides site. It has 623 items with Title, Status, Priority, Requester and DueDate columns. Every result in this post comes from that list:

Build the Demo App Step by Step
Skip this part if you already have an app connected to the list. Otherwise, these steps take a couple of minutes; our guide to create a canvas app from a SharePoint list goes deeper.
1. Sign in to make.powerapps.com. The Home page shows the Start with design options:

2. Select Create in the left pane, then Create from blank (Canvas app):

3. In Start with a blank canvas, pick Tablet. Power Apps Studio opens on an empty screen:

4. Select Add data, search for SharePoint and pick the SharePoint connector:

5. Paste your site URL under Connect to a SharePoint site and select Connect. Then check Service Requests under Choose a list and select Connect again:

6. Add a screen with New screen > Blank. To rename it, select the screen and use the pencil next to its name in the Properties pane. We called ours scrDropdownDefault.
Two basics you’ll use in every step. The property dropdown sits left of the formula bar (marked fx) and picks which property you’re editing. Press Play at the top right to run the app, or hold Alt and click a button while you edit. Save with Ctrl+S.
Step 1: Add the Drop-down and Point Default at a Variable
From Insert, add a Drop down and rename it ddStatusVar. Set its Items property to the Status choices. Our Power Apps Choices function guide explains what this returns:
Choices('Service Requests'.Status)
Now pick Default in the property dropdown and type the variable name. A variable is a named value the app keeps in memory; this one doesn’t exist until a Set formula creates it:
varDefaultStatus

Mine already shows In Progress because of the OnVisible formula in Step 2. We also added a label under the drop-down so you can see the variable and the selection side by side:
"varDefaultStatus = " & varDefaultStatus & " | Selected = " & ddStatusVar.Selected.Value
Step 2: Give the Variable a Value in OnVisible
Select the screen in the Tree view, pick OnVisible and enter the formula below. OnVisible runs every time someone opens the screen. Set creates a global variable; our comparison of global vs context variables in Power Apps explains when to use each:
Set(varDefaultStatus, "In Progress")
Here’s the first gotcha. Right after I typed this, OnVisible hadn’t run yet, so the variable was blank. A blank Default doesn’t leave the drop-down empty: it shows the first item, New:

That matches Microsoft’s docs: unless empty selection is allowed, a drop-down always has a selected item, the Default or the first one. Once OnVisible ran, the label read varDefaultStatus = In Progress | Selected = In Progress:

Step 3: Change the Default From a Button
Add a button with the text Set to Closed. Its OnSelect property changes the variable, and the drop-down follows because Default reads it:
Set(varDefaultStatus, "Closed")
In Preview, one click switched both the variable and the drop-down to Closed:

Now the second gotcha. We added a Set to Open button, but Open isn’t one of the Status choices:
Set(varDefaultStatus, "Open")
Power Apps didn’t complain. The variable held Open, the drop-down quietly showed New, and the label read varDefaultStatus = Open | Selected = New. If a default “doesn’t work,” check the spelling and case against your Items first:

Step 4: Re-Apply the Default With Reset
This is the gotcha that sends people to the forums. With the variable already Closed, I picked In Progress myself, then clicked Set to Closed again. Nothing happened: the label showed varDefaultStatus = Closed | Selected = In Progress.

Default is only the starting value until the user picks something. Microsoft’s Reset docs say input controls reset when their Default property changes, and setting Closed to Closed isn’t a change. The fix is to reset the control yourself, right after the Set:
Set(varDefaultStatus, "Closed");
Reset(ddStatusVar)

Reset works only in behavior formulas such as OnSelect, and it’s the same tool we use to clear a text input in Power Apps. Clicking the button now brings the drop-down back to Closed every time:

Step 5: Default to the Current User
Variables aren’t the only dynamic default. A second drop-down, ddAssignee, lists two team queues plus the signed-in person:
["Help Desk Queue", User().FullName, "Network Team"]
Its Default is the user’s display name, which we cover with Email and other fields in our post on getting current user details in Power Apps:
User().FullName
Signed in as the app owner, the drop-down opened on Bijay Kumar Sahoo. Each user sees their own name, because the value must also be in Items:

Step 6: Default From the Selected Gallery Item
The last pattern needs no variable at all. A gallery, galDdv, shows the first four requests by ID:
FirstN(Sort('Service Requests', ID, SortOrder.Ascending), 4)
A third drop-down, ddFromGallery, uses the same Status Items, with Default reading the selected row. Our guide to setting a default selected item in a gallery covers picking a different first row:
galDdv.Selected.Status.Value
It showed New for Laptop replacement #1000, the first row. After I selected Password reset #1005, it switched to Closed:

Dropdown Default Cheat Sheet
Here’s what each case did on our Status drop-down (Items: New, In Progress, Closed):
| What you do | What the drop-down shows |
|---|---|
| Default = varDefaultStatus, variable blank | New (first item) |
| OnVisible: Set(varDefaultStatus, “In Progress”) | In Progress |
| Button: Set(varDefaultStatus, “Closed”) | Closed |
| Set to “Open” (not in Items) | New, no error |
| Same value again after the user picked another | The user’s pick stays |
| Set(…); Reset(ddStatusVar) | Closed, every time |
| Default = User().FullName | Signed-in user’s name |
| Default = galDdv.Selected.Status.Value | The selected row’s Status |
Common Mistakes to Avoid
- Expecting blank to mean empty. A blank variable shows the first item. For a truly empty start, follow the separate blank-default steps linked below.
- Setting a value that isn’t in Items. Case and spelling must match a choice exactly, or you get the first item with no warning.
- Setting the same value twice. Default didn’t change, so nothing resets. Add Reset after the Set.
- Calling Reset from outside a gallery or form. Microsoft’s docs say you can’t reset controls inside a Gallery or Edit form from outside them.
- Relying on OnStart. OnStart doesn’t block screens from loading by default, so a variable set there may arrive late. OnVisible runs each time the screen opens.
If you need the drop-down to start with nothing selected, we walk through it in set a Power Apps dropdown default value to blank.
Does This Work With the Modern Dropdown Control?
Yes, with one difference to watch. Microsoft’s docs say the updated modern Dropdown sets its first selection through Default; earlier versions called it DefaultSelectedItems. Learn’s example passes a record, such as {Value: "United States"}.
We built this demo with the classic control, so test the modern one in your own app. Our Power Apps modern dropdown control tutorial shows the rest of its properties.
Next Steps
Once the variable pattern works, the usual next job is pulling the default from a saved record instead of a button. We show that in set a dropdown default from a SharePoint list. For more patterns, browse our Power Apps tutorials.
We’d keep these handy while you wire up the rest of the form:
Frequently Asked Questions
Why doesn’t my Power Apps dropdown change when the variable changes?
Usually the user already picked a value and you set the variable to the value it already had, so Default never changed. Add Reset(YourDropdown) after the Set. Also check the value exists in Items; otherwise the drop-down shows its first item.
Can I set a dropdown default variable in App OnStart?
A global variable from OnStart works in Default, but OnStart doesn’t block screens from loading by default, so the variable may not be ready yet. We set it in the screen’s OnVisible, which runs every time the screen opens.
What does Reset do to a dropdown?
Reset puts the control back to its Default value and discards what the user picked. It works only in behavior formulas such as OnSelect. See the Microsoft Learn Reset function reference for the full rules.
How do I default a dropdown to the current user?
Include User().FullName in the drop-down’s Items and set Default to User().FullName. Each person who opens the app sees their own name selected.
Does the modern Dropdown use Default or DefaultSelectedItems?
The updated modern Dropdown uses Default; DefaultSelectedItems was the earlier name. The Dropdown modern control page lists the renamed properties.

Hey! I’m Bijay Kumar, founder of SPGuides.com and a Microsoft Business Applications MVP (Power Automate, Power Apps). I launched this site in 2020 because I truly enjoy working with SharePoint, Power Platform, and SharePoint Framework (SPFx), and wanted to share that passion through step-by-step tutorials, guides, and training videos. My mission is to help you learn these technologies so you can utilize SharePoint, enhance productivity, and potentially build business solutions along the way.