+ @
;
}
diff --git a/src/BootstrapBlazor/Components/AutoFill/AutoFill.razor.cs b/src/BootstrapBlazor/Components/AutoFill/AutoFill.razor.cs
index e2d07b6dde0..dcb7178e0d0 100644
--- a/src/BootstrapBlazor/Components/AutoFill/AutoFill.razor.cs
+++ b/src/BootstrapBlazor/Components/AutoFill/AutoFill.razor.cs
@@ -19,7 +19,6 @@ public partial class AutoFill
///
private string? ClassString => CssBuilder.Default("auto-complete auto-fill")
.AddClass("is-clearable", IsClearable)
- .AddClassFromAttributes(AdditionalAttributes)
.Build();
///
@@ -104,14 +103,14 @@ public partial class AutoFill
///
/// Effective when is set to true.
[Parameter]
- public float RowHeight { get; set; } = 33f;
+ public float RowHeight { get; set; } = 50f;
///
- /// Gets or sets the overscan count for virtual scrolling. Default is 4.
+ /// Gets or sets the overscan count for virtual scrolling. Default is 3.
///
/// Effective when is set to true.
[Parameter]
- public int OverscanCount { get; set; } = 4;
+ public int OverscanCount { get; set; } = 3;
///
/// Gets or sets the callback method for loading virtualized items.
@@ -161,6 +160,10 @@ public partial class AutoFill
.AddClass($"text-danger", IsValid.HasValue && !IsValid.Value)
.Build();
+ private string? PlaceHolderStyleString => RowHeight > 50f
+ ? CssBuilder.Default().AddStyle("height", $"{RowHeight}px").Build()
+ : null;
+
///
///
///
@@ -178,6 +181,14 @@ protected override void OnParametersSet()
Items ??= [];
}
+ private bool _render = true;
+
+ ///
+ ///
+ ///
+ ///
+ protected override bool ShouldRender() => _render;
+
private bool IsNullable() => !ValueType.IsValueType || NullableUnderlyingType != null;
///
@@ -197,6 +208,10 @@ private async Task OnClearValue()
await OnClearAsync();
}
CurrentValue = default;
+ _displayText = null;
+ _filterItems = null;
+ _searchText = null;
+
if (OnQueryAsync != null)
{
await _virtualizeElement.RefreshDataAsync();
@@ -222,14 +237,13 @@ private async Task OnClickItem(TValue val)
private List Rows => _filterItems ?? [.. Items];
- private int _totalCount;
-
private async ValueTask> LoadItems(ItemsProviderRequest request)
{
- var count = _totalCount == 0 ? request.Count : Math.Min(request.Count, _totalCount - request.StartIndex);
- var data = await OnQueryAsync(new() { StartIndex = request.StartIndex, Count = count, SearchText = _searchText });
+ _render = false;
+ var data = await OnQueryAsync(new() { StartIndex = request.StartIndex, Count = request.Count, SearchText = _searchText });
+ _render = true;
- _totalCount = data.TotalCount;
+ var _totalCount = data.TotalCount;
var items = data.Items ?? [];
return new ItemsProviderResult(items, _totalCount);
}