diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bc0d0aec4..520f379d76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,12 +16,19 @@ should change the heading of the (upcoming) version to include a major version b --> +# 6.0.0-beta.9 + +## @rjsf/chakra-ui + +- Updated `SelectWidget` to only pick the first element in a list when single selection is active, fixing [#4623](https://github.com/rjsf-team/react-jsonschema-form/issues/4623) + # 6.0.0-beta.8 ## @rjsf/chakra-ui - Added `getChakra` to package exports - Restored the `ui:options` customization +- Updated `SelectWidget` to only pick the first element in a list when single selection is active, fixing [#4623](https://github.com/rjsf-team/react-jsonschema-form/issues/4623) ## @rjsf/core diff --git a/packages/chakra-ui/src/SelectWidget/SelectWidget.tsx b/packages/chakra-ui/src/SelectWidget/SelectWidget.tsx index 044d395ad2..69bc37576a 100644 --- a/packages/chakra-ui/src/SelectWidget/SelectWidget.tsx +++ b/packages/chakra-ui/src/SelectWidget/SelectWidget.tsx @@ -43,19 +43,12 @@ export default function SelectWidget { - return onChange( - enumOptionsValueForIndex( - value.map((item) => { - return item; - }), - enumOptions, - emptyValue, - ), - ); + return onChange(enumOptionsValueForIndex(value, enumOptions, emptyValue)); }; - const _onChange = ({ value }: SelectValueChangeDetails) => { - return onChange(enumOptionsValueForIndex(value, enumOptions, emptyValue)); + const _onSingleChange = ({ value }: SelectValueChangeDetails) => { + const selected = enumOptionsValueForIndex(value, enumOptions, emptyValue); + return onChange(Array.isArray(selected) && selected.length === 1 ? selected[0] : selected); }; const _onBlur = ({ target }: FocusEvent) => @@ -137,7 +130,7 @@ export default function SelectWidget