diff --git a/src/view/com/composer/TagInput.tsx b/src/view/com/composer/TagInput.tsx index 65411584d1..12b68bddc0 100644 --- a/src/view/com/composer/TagInput.tsx +++ b/src/view/com/composer/TagInput.tsx @@ -49,7 +49,6 @@ export function TagInput({ const [value, setValue] = React.useState('') const [tags, setTags] = React.useState([]) - const [selectedItemIndex, setSelectedItemIndex] = React.useState(0) const [suggestions, setSuggestions] = React.useState([]) const [isInitialLoad, setIsInitialLoad] = React.useState(true) @@ -57,9 +56,8 @@ export function TagInput({ setValue('') model.setActive(false) model.clear() - setSelectedItemIndex(0) setSuggestions([]) - }, [model, setValue, setSelectedItemIndex, setSuggestions]) + }, [model, setValue, setSuggestions]) const addTags = React.useCallback( (_tags: string[]) => { @@ -85,16 +83,17 @@ export function TagInput({ addTags(uniq([...tags, tag]).slice(0, max)) } - setValue('') - input.current?.focus() + setTimeout(() => { + setValue('') + input.current?.focus() + }, 1) }, [max, tags, setValue, addTags], ) const onSubmitEditing = React.useCallback(() => { - const item = suggestions[selectedItemIndex] - addTagAndReset(item || value) - }, [value, suggestions, selectedItemIndex, addTagAndReset]) + addTagAndReset(value) + }, [value, addTagAndReset]) const onKeyPress = React.useCallback( (e: NativeSyntheticEvent) => { @@ -106,29 +105,8 @@ export function TagInput({ e.preventDefault() // prevents an additional space on web addTagAndReset(value) } - - if (key === 'Escape') { - reset() - } else if (key === 'ArrowUp') { - e.preventDefault() - setSelectedItemIndex( - (selectedItemIndex + suggestions.length - 1) % suggestions.length, - ) - } else if (key === 'ArrowDown') { - e.preventDefault() - setSelectedItemIndex((selectedItemIndex + 1) % suggestions.length) - } }, - [ - value, - tags, - selectedItemIndex, - suggestions.length, - reset, - setSelectedItemIndex, - addTags, - addTagAndReset, - ], + [value, tags, addTags, addTagAndReset], ) const onChangeText = React.useCallback( @@ -206,10 +184,11 @@ export function TagInput({ (