When the ArrowLeft key is pressed while there are selected options and renderTags is set to return null (so that no tags are rendered), the component breaks.
Current Behavior 😯
When the ArrowLeft key is pressed while there are selected options and renderTags is set to return null (so that no tags are rendered), the component breaks and returns the error describe below:

It appears that the useAutocomplete hook tries to put focus on the tag elements without checking whether there are tags rendered or not as per the source code:
const focusTag = useEventCallback((tagToFocus) => {
if (tagToFocus === -1) {
inputRef.current.focus();
} else {
anchorEl.querySelector(`[data-tag-index="${tagToFocus}"]`).focus(); // <-- The line in question.
}
});
Expected Behavior 🤔
When the ArrowLeft key is pressed while there are selected options and renderTags is set to return null, it shouldn't try to put focus on tags.
Steps to Reproduce 🕹
Codesandbox link: https://codesandbox.io/s/nt24o
Taken from: https://material-ui.com/components/autocomplete/#githubs-picker
Steps:
- Open the Autocomplete component by clicking on Labels.
- Make sure there are options selected.
- Make sure the Autocomplete input field is focused.
- Press the ArrowLeft key. Error should appear.
Context 🔦
We are trying to build a component similar to the Github Labels picker sample provided by the docs: https://material-ui.com/components/autocomplete/#githubs-picker because we need a filterable/searchable dropdown component, but we don't need to show tags/chips because we want the input field of the Autocomplete to just act like an input for filtering.
Your Environment 🌎
`npx @material-ui/envinfo`
Browser used: Chrome
System:
OS: macOS 10.15.7
Binaries:
Node: 14.17.0 - ~/.nvm/versions/node/v14.17.0/bin/node
Yarn: 1.22.10 - /usr/local/bin/yarn
npm: 6.14.13 - ~/.nvm/versions/node/v14.17.0/bin/npm
Browsers:
Chrome: 92.0.4515.131
Edge: 92.0.902.78
Firefox: 91.0
Safari: 14.1.2
When the ArrowLeft key is pressed while there are selected options and
renderTagsis set to return null (so that no tags are rendered), the component breaks.Current Behavior 😯
When the ArrowLeft key is pressed while there are selected options and
renderTagsis set to return null (so that no tags are rendered), the component breaks and returns the error describe below:It appears that the
useAutocompletehook tries to put focus on the tag elements without checking whether there are tags rendered or not as per the source code:Expected Behavior 🤔
When the ArrowLeft key is pressed while there are selected options and
renderTagsis set to return null, it shouldn't try to put focus on tags.Steps to Reproduce 🕹
Codesandbox link: https://codesandbox.io/s/nt24o
Taken from: https://material-ui.com/components/autocomplete/#githubs-picker
Steps:
Context 🔦
We are trying to build a component similar to the Github Labels picker sample provided by the docs: https://material-ui.com/components/autocomplete/#githubs-picker because we need a filterable/searchable dropdown component, but we don't need to show tags/chips because we want the input field of the Autocomplete to just act like an input for filtering.
Your Environment 🌎
`npx @material-ui/envinfo`