Use SetParametersAsync to only trigger OnParametersSet when necessary.
This commit is contained in:
parent
f2b9daac52
commit
b041d7d244
@ -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<string>("CityName", out var cityName))
|
||||
{
|
||||
if (cityName != CityName)
|
||||
{
|
||||
base.SetParametersAsync(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
if (parameters.TryGetValue<string>("SearchFilter", out var searchFilter))
|
||||
{
|
||||
if (searchFilter != SearchFilter)
|
||||
{
|
||||
base.SetParametersAsync(parameters);
|
||||
}
|
||||
}
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(this.SearchFilter))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user