@MoreItemsTemplate
}
@if (AfterItemsTemplate != null)
{
-
+
@AfterItemsTemplate
}
@@ -96,7 +96,7 @@
}
else if (NoItemsTemplate != null)
{
-
+
@NoItemsTemplate
}
diff --git a/src/MudBlazor/Components/Autocomplete/MudAutocomplete.razor.cs b/src/MudBlazor/Components/Autocomplete/MudAutocomplete.razor.cs
index 3e2f6a07c70..9cdd26d3da3 100644
--- a/src/MudBlazor/Components/Autocomplete/MudAutocomplete.razor.cs
+++ b/src/MudBlazor/Components/Autocomplete/MudAutocomplete.razor.cs
@@ -26,7 +26,7 @@ public partial class MudAutocomplete
: MudBaseInput, IDisposable
private bool _isProcessingValue;
private int _selectedListItemIndex = 0;
private int _elementKey = 0;
- private int _itemsReturned; //the number of items returned by the search function
+ private int _returnedItemsCount;
private bool _isOpen;
private MudInput _elementReference;
private CancellationTokenSource _cancellationTokenSrc;
@@ -354,6 +354,16 @@ public partial class MudAutocomplete : MudBaseInput, IDisposable
[Parameter]
public EventCallback OnClearButtonClick { get; set; }
+ ///
+ /// An event triggered when the number of items returned by the search query has changed.
+ ///
+ /// If the number is 0, will be shown.
+ /// If the number is beyond , will be shown.
+ ///
+ ///
+ [Parameter]
+ public EventCallback ReturnedItemsCountChanged { get; set; }
+
///
/// Returns the open state of the drop-down.
///
@@ -494,6 +504,12 @@ private void CancelToken()
}
}
+ private Task SetReturnedItemsCountAsync(int value)
+ {
+ _returnedItemsCount = value;
+ return ReturnedItemsCountChanged.InvokeAsync(value);
+ }
+
///
/// This async method needs to return a task and be awaited in order for
/// unit tests that trigger this method to work correctly.
@@ -542,7 +558,7 @@ private async Task OnSearchAsync()
Logger.LogWarning("The search function failed to return results: " + e.Message);
}
- _itemsReturned = searchedItems.Length;
+ await SetReturnedItemsCountAsync(searchedItems.Length);
if (MaxItems.HasValue)
{
searchedItems = searchedItems.Take(MaxItems.Value).ToArray();