Searchable Lookup
Usage
Searchable Lookup provides a searchable dropdown for selecting items from a data source. Perfect for selecting records from large datasets.
YAML Export
1. Copy the YAML from the component view.
2. Paste it into your Canvas app.
3. Configure the data source connection.
4. Bind the Selected property to save the chosen record.
SharePoint Example
LookupInput:
As: text input
OnChange: Set(varSearchText, Self.Text)
LookupGallery:
As: gallery
Items: Search('Your List', varSearchText, "Title", "Description")
Visible: !IsBlank(varSearchText) && CountRows(Self.Items) > 0
Dataverse Example
LookupInput:
As: text input
OnChange: Set(varSearchText, Self.Text)
LookupGallery:
As: gallery
Items: Filter('Your Table', StartsWith('Name', varSearchText))
Visible: !IsBlank(varSearchText) && CountRows(Self.Items) > 0
Collection Example
LookupInput:
As: text input
OnChange: Set(varSearchText, Self.Text)
LookupGallery:
As: gallery
Items: Filter(YourCollection, varSearchText in Name || varSearchText in Email)
Visible: !IsBlank(varSearchText) && CountRows(Self.Items) > 0
Performance Tips
- Delegation: Use StartsWith() for text fields to ensure delegation.
- Limit Results: Set MaxResults to limit the number of items returned.
- Min Characters: Require at least 2-3 characters before searching to reduce API calls.
- Caching: Consider caching search results for frequently accessed data.
Delegation Warnings
⚠️ Some operations may not delegate:
- Contains() with Dataverse (use StartsWith() instead)
- Complex filters with multiple OR conditions
- Search across multiple fields simultaneously
Export Modes
- Safe: Scaffold with placeholder datasource.
- Advanced: Includes search behavior formula placeholders and keyboard navigation states (Pro feature).
Best Practices
- Use avatars/initials for better visual identification.
- Show "No results" message when search returns empty.
- Clear button improves UX for quick resets.
- Keyboard navigation essential for accessibility.