@typeparam TField @inherits InputBase @code { [Parameter] public TField[] Items { get; set; } [Parameter] public Func DisplayField { get; set; } protected override void OnInitialized() { } protected override string? FormatValueAsString(TField? value) { if (value == null) return null; return DisplayField.Invoke(value); } protected override bool TryParseValueFromString(string? value, out TField result, out string? validationErrorMessage) { validationErrorMessage = ""; result = default(TField)!; return false; } private int Binding { get { if (Value == null) return -1; return Value.GetHashCode(); } set { var i = Items.FirstOrDefault(x => x!.GetHashCode() == value); if (i != null) { Value = i; ValueChanged.InvokeAsync(i); } } } }