Name City Status People online
@code { private List? servers; [Parameter] public string? CityName { get; set; } [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)) { servers = ServersRepository.GetServersByCity(CityName ?? "Eindhoven"); } else { servers = ServersRepository.SearchServers(SearchFilter); } } protected override void OnAfterRender(bool firstRender) { base.OnAfterRender(firstRender); if (firstRender) { if (string.IsNullOrWhiteSpace(this.SearchFilter)) { servers = ServersRepository.GetServersByCity(CityName ?? "Eindhoven"); } else { servers = ServersRepository.SearchServers(SearchFilter); } // Render the component again by letting it know the state changed. StateHasChanged(); } } }