diff --git a/ServerManagement/Components/Controls/ServerListComponent.razor b/ServerManagement/Components/Controls/ServerListComponent.razor index dfa5b93..4445e5e 100644 --- a/ServerManagement/Components/Controls/ServerListComponent.razor +++ b/ServerManagement/Components/Controls/ServerListComponent.razor @@ -29,6 +29,29 @@ [Parameter] public string SearchFilter { get; set; } = ""; + public override Task SetParametersAsync(ParameterView parameters) + { + // Only trigger OnParametersSet if the parameter matches and has actually changed. + // This saves expensive calls to the data repository. + if (parameters.TryGetValue("CityName", out var cityName)) + { + if (cityName != CityName) + { + base.SetParametersAsync(parameters); + } + } + + if (parameters.TryGetValue("SearchFilter", out var searchFilter)) + { + if (searchFilter != SearchFilter) + { + base.SetParametersAsync(parameters); + } + } + + return Task.CompletedTask; + } + protected override void OnParametersSet() { if (string.IsNullOrWhiteSpace(this.SearchFilter))