diff --git a/packages/mui-base/src/useAutocomplete/useAutocomplete.js b/packages/mui-base/src/useAutocomplete/useAutocomplete.js index 344b2cce0efe0f..838908e486ef73 100644 --- a/packages/mui-base/src/useAutocomplete/useAutocomplete.js +++ b/packages/mui-base/src/useAutocomplete/useAutocomplete.js @@ -75,6 +75,8 @@ const pageSize = 5; const defaultIsActiveElementInListbox = (listboxRef) => listboxRef.current !== null && listboxRef.current.parentElement?.contains(document.activeElement); +const MULTIPLE_DEFAULT_VALUE = []; + export function useAutocomplete(props) { const { // eslint-disable-next-line @typescript-eslint/naming-convention @@ -88,7 +90,7 @@ export function useAutocomplete(props) { clearOnBlur = !props.freeSolo, clearOnEscape = false, componentName = 'useAutocomplete', - defaultValue = props.multiple ? [] : null, + defaultValue = props.multiple ? MULTIPLE_DEFAULT_VALUE : null, disableClearable = false, disableCloseOnSelect = false, disabled: disabledProp, diff --git a/packages/mui-base/src/useAutocomplete/useAutocomplete.test.js b/packages/mui-base/src/useAutocomplete/useAutocomplete.test.js index 79361a8a55c482..637f0a31201637 100644 --- a/packages/mui-base/src/useAutocomplete/useAutocomplete.test.js +++ b/packages/mui-base/src/useAutocomplete/useAutocomplete.test.js @@ -362,9 +362,9 @@ describe('useAutocomplete', () => { }); it('should allow tuples or arrays as value when multiple=false', () => { - function Test() { - const defaultValue = ['bar']; + const defaultValue = ['bar']; + function Test() { const { getClearProps, getInputProps } = useAutocomplete({ defaultValue, disableClearable: false, diff --git a/packages/mui-material/src/useAutocomplete/useAutocomplete.js b/packages/mui-material/src/useAutocomplete/useAutocomplete.js index e3d2a9f04fb479..1fd4eefe39d4a9 100644 --- a/packages/mui-material/src/useAutocomplete/useAutocomplete.js +++ b/packages/mui-material/src/useAutocomplete/useAutocomplete.js @@ -75,6 +75,8 @@ const pageSize = 5; const defaultIsActiveElementInListbox = (listboxRef) => listboxRef.current !== null && listboxRef.current.parentElement?.contains(document.activeElement); +const MULTIPLE_DEFAULT_VALUE = []; + function useAutocomplete(props) { const { // eslint-disable-next-line @typescript-eslint/naming-convention @@ -88,7 +90,7 @@ function useAutocomplete(props) { clearOnBlur = !props.freeSolo, clearOnEscape = false, componentName = 'useAutocomplete', - defaultValue = props.multiple ? [] : null, + defaultValue = props.multiple ? MULTIPLE_DEFAULT_VALUE : null, disableClearable = false, disableCloseOnSelect = false, disabled: disabledProp, diff --git a/packages/mui-material/src/useAutocomplete/useAutocomplete.test.js b/packages/mui-material/src/useAutocomplete/useAutocomplete.test.js index bed6333b0efc9e..f345523e52dfda 100644 --- a/packages/mui-material/src/useAutocomplete/useAutocomplete.test.js +++ b/packages/mui-material/src/useAutocomplete/useAutocomplete.test.js @@ -362,9 +362,9 @@ describe('useAutocomplete', () => { }); it('should allow tuples or arrays as value when multiple=false', () => { - function Test() { - const defaultValue = ['bar']; + const defaultValue = ['bar']; + function Test() { const { getClearProps, getInputProps } = useAutocomplete({ defaultValue, disableClearable: false,