Use SetParametersAsync to only trigger OnParametersSet when necessary.
This commit is contained in:
parent
f2b9daac52
commit
b041d7d244
@ -29,6 +29,29 @@
|
|||||||
[Parameter]
|
[Parameter]
|
||||||
public string SearchFilter { get; set; } = "";
|
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()
|
protected override void OnParametersSet()
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(this.SearchFilter))
|
if (string.IsNullOrWhiteSpace(this.SearchFilter))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user