Skip to content

Commit 94e57a6

Browse files
authored
[material-ui][Autocomplete] Cherry-pick #43189 (#44561)
1 parent e682861 commit 94e57a6

File tree

4 files changed

+10
-6
lines changed

4 files changed

+10
-6
lines changed

packages/mui-base/src/useAutocomplete/useAutocomplete.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ const pageSize = 5;
7575
const defaultIsActiveElementInListbox = (listboxRef) =>
7676
listboxRef.current !== null && listboxRef.current.parentElement?.contains(document.activeElement);
7777

78+
const MULTIPLE_DEFAULT_VALUE = [];
79+
7880
export function useAutocomplete(props) {
7981
const {
8082
// eslint-disable-next-line @typescript-eslint/naming-convention
@@ -88,7 +90,7 @@ export function useAutocomplete(props) {
8890
clearOnBlur = !props.freeSolo,
8991
clearOnEscape = false,
9092
componentName = 'useAutocomplete',
91-
defaultValue = props.multiple ? [] : null,
93+
defaultValue = props.multiple ? MULTIPLE_DEFAULT_VALUE : null,
9294
disableClearable = false,
9395
disableCloseOnSelect = false,
9496
disabled: disabledProp,

packages/mui-base/src/useAutocomplete/useAutocomplete.test.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -362,9 +362,9 @@ describe('useAutocomplete', () => {
362362
});
363363

364364
it('should allow tuples or arrays as value when multiple=false', () => {
365-
function Test() {
366-
const defaultValue = ['bar'];
365+
const defaultValue = ['bar'];
367366

367+
function Test() {
368368
const { getClearProps, getInputProps } = useAutocomplete({
369369
defaultValue,
370370
disableClearable: false,

packages/mui-material/src/useAutocomplete/useAutocomplete.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ const pageSize = 5;
7575
const defaultIsActiveElementInListbox = (listboxRef) =>
7676
listboxRef.current !== null && listboxRef.current.parentElement?.contains(document.activeElement);
7777

78+
const MULTIPLE_DEFAULT_VALUE = [];
79+
7880
function useAutocomplete(props) {
7981
const {
8082
// eslint-disable-next-line @typescript-eslint/naming-convention
@@ -88,7 +90,7 @@ function useAutocomplete(props) {
8890
clearOnBlur = !props.freeSolo,
8991
clearOnEscape = false,
9092
componentName = 'useAutocomplete',
91-
defaultValue = props.multiple ? [] : null,
93+
defaultValue = props.multiple ? MULTIPLE_DEFAULT_VALUE : null,
9294
disableClearable = false,
9395
disableCloseOnSelect = false,
9496
disabled: disabledProp,

packages/mui-material/src/useAutocomplete/useAutocomplete.test.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -362,9 +362,9 @@ describe('useAutocomplete', () => {
362362
});
363363

364364
it('should allow tuples or arrays as value when multiple=false', () => {
365-
function Test() {
366-
const defaultValue = ['bar'];
365+
const defaultValue = ['bar'];
367366

367+
function Test() {
368368
const { getClearProps, getInputProps } = useAutocomplete({
369369
defaultValue,
370370
disableClearable: false,

0 commit comments

Comments
 (0)