@if (!Scopes.Any()) { } @foreach (var scope in Scopes) { @code { [Parameter] public IEnumerable Values { get; set; } [Parameter] public EventCallback> ValuesChanged { get; set; } List Scopes = new(); protected override void OnParametersSet() { if (Values != null) Scopes = Values.Select(v => new ExternalProviderScope { Name = v }).ToList(); } async Task Add() { Scopes.Add(new ExternalProviderScope()); if (ValuesChanged.HasDelegate) await ValuesChanged.InvokeAsync(Scopes.Select(s => s.Name)); } async Task Remove(ExternalProviderScope scope) { Scopes.Remove(scope); if (ValuesChanged.HasDelegate) await ValuesChanged.InvokeAsync(Scopes.Select(s => s.Name)); } async Task Update() { if (ValuesChanged.HasDelegate) await ValuesChanged.InvokeAsync(Scopes.Select(s => s.Name)); } }