'PowerApps Dropdown onChange does not Fire if it's filtered with textinput

I have the following problem. In my app I have a Dropdown "StoreSelector" Items are based on an collection which are filtered depend on the User().Email. (Some User().Email, defined in an separat collection, can see all Stores, User().Email can only see one Store)

Store.Selector.Items:
If(IsBlank(LookUp(WebAppAdmin; AdminEMail = User().Email; AdminEMail)); 
Filter(ColStores; 'Store E-mail' = User().Email); 
Search(ColStores; SearchField.Text; "C_x0026_S_x0020_Verkaufsstelle"))

The onChange-Property of "StoreSelector" filters an other Collection, lets call it "colTemp"

Basically this works fine.

As you can see in the formula above, additional I have TextField "SearchField". SearchField should allow to filter the dropdown. The Search()-funktion works fine, and the dropdown shows only the filtered result.

BUT, only if I click the dropdown the onChange-Event fires. And only if there are more than 1 item in the dropdown the click fires the event. Is there only 1 item, the click on this item doesn't fire the event.

What I have to do that onChange-Event fires if the user do an input in SearchField?



Solution 1:[1]

Its a bit tough for me to understand exactly what you need, but I bet resetting the other control when one is used will help.

Try this:

Searchbox:

  1. Set the OnChange proptery to Reset(<name of your dropdown>)

  2. Add a "search icon" to the right so that the user will fire the OnChange

    a. Note: The icon only serves as a way to trigger the OnChange process. Basically you need an intuitive way for the user to "click away" from the text input box.

    b. You could use the icon to trigger your filter, etc.

  3. Set the DelayOutput property to true

Dropdown:

  1. Set the Default property to ""
  2. Set AllowEmptySelection property to true
  3. Set OnChange to Reset(<your search box name>)

Example in action: enter image description here

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 SeaDude