segmentio/evergreen

Property `selected` should include `PropTypes.number` to allow integer values

ADTC opened this issue · 1 comments

ADTC commented

const SelectedPropType = PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)])

Please allow PropTypes.number here. Sometimes the value is numeric - quite common when display label is a string, but internal value is an int.

Although the application works, this throws error in the console.

Warning: Failed prop type: Invalid prop `selected` supplied to `SelectMenu`, expected one of type [string].
SelectMenu@webpack-internal:///./node_modules/evergreen-ui/esm/select-menu/src/SelectMenu.js:39:15
▽ React 6
        printWarning
        error
        checkPropTypes
        validatePropTypes
        jsxWithValidation
        jsxWithValidationDynamic

Right now I'm overriding the propTypes to fix the error:

SelectMenu.propTypes = {
  ...SelectMenu.propTypes,
  selected: PropTypes.oneOfType([
    PropTypes.string,
    PropTypes.arrayOf(PropTypes.string),
    PropTypes.number,
  ]),
};

Added type number to proptypes #1627