fix(select-widget): select widget not able to select number value 0
#7254
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #6515
Summary
When a select widget which has a value of
0
is selected, ifisMultiple
is set tofalse
, null is selected and ifisMultiple
is set totrue
, an error is thrown. This happens because inoptionToString
function inSelectControl
, the conditional checks for truthy value which excludes numerical0
and returnsnull
if a value of0
is selected.This PR proposes changes to this logic by explicitly checking the value type to be either
number
orstring
.It also includes changes to the propTypes of SelectControl to match the types in
schema.js
.Test plan
options
values['a', 'b', 'c']
with[{ label: 'a', value: 0 }, { label: 'b', value: 1 }, { label: 'c', value: 2 }]
npm run start
a
for both select widgetsChecklist
Please add a
x
inside each checkbox:A picture of a cute animal (not mandatory but encouraged)