diff --git a/.changeset/gorgeous-bottles-bow.md b/.changeset/gorgeous-bottles-bow.md new file mode 100644 index 0000000000..becda2e767 --- /dev/null +++ b/.changeset/gorgeous-bottles-bow.md @@ -0,0 +1,5 @@ +--- +'react-select': patch +--- + +`required` prop accessibiltiy and functionality improvements diff --git a/packages/react-select/src/Select.tsx b/packages/react-select/src/Select.tsx index 9a029f31b0..16daa33094 100644 --- a/packages/react-select/src/Select.tsx +++ b/packages/react-select/src/Select.tsx @@ -2022,12 +2022,12 @@ export default class Select< const { delimiter, isDisabled, isMulti, name, required } = this.props; const { selectValue } = this.state; - if (!name || isDisabled) return; - - if (required && !this.hasValue()) { + if (required && !this.hasValue() && !isDisabled) { return ; } + if (!name || isDisabled) return; + if (isMulti) { if (delimiter) { const value = selectValue diff --git a/packages/react-select/src/internal/RequiredInput.tsx b/packages/react-select/src/internal/RequiredInput.tsx index 2d419f923b..834dfca3b3 100644 --- a/packages/react-select/src/internal/RequiredInput.tsx +++ b/packages/react-select/src/internal/RequiredInput.tsx @@ -3,13 +3,14 @@ import { FocusEventHandler, FunctionComponent } from 'react'; import { jsx } from '@emotion/react'; const RequiredInput: FunctionComponent<{ - readonly name: string; + readonly name?: string; readonly onFocus: FocusEventHandler; }> = ({ name, onFocus }) => (