protected async void HandleOnChanged(UIChangeEventArgs e) { if (IsMultiple) { // when multiple selection is enabled we need to use javascript to get the list of selected items multiValue = await JSRunner.GetSelectedOptions <TValue>(ElementId); // changed event must be called before validation SelectedValuesChanged?.Invoke(multiValue); ParentValidation?.UpdateInputValue(multiValue); } else { if (Converters.TryChangeType <TValue>(e.Value, out var value)) { singleValue = value; } else { singleValue = default; } // changed event must be called before validation SelectedValueChanged?.Invoke(singleValue); ParentValidation?.UpdateInputValue(singleValue); } }