@typeparam T @code { [Parameter, EditorRequired] public string Label { get; set; } = string.Empty; [Parameter, EditorRequired] public IEnumerable Options { get; set; } = default!; [Parameter, EditorRequired] public Func GetId { get; set; } = default!; [Parameter, EditorRequired] public Func GetName { get; set; } = default!; [Parameter, EditorRequired] public Action OnSelect { get; set; } = default!; private string htmlLabel => Label.Replace("-", ""); private void onSelect(ChangeEventArgs e) { var newId = e.Value?.ToString(); var selectedOption = Options.FirstOrDefault(o => GetId(o) == newId); OnSelect(selectedOption); } }