diff --git a/src/components/tags/TagAutocomplete/index.tsx b/src/components/tags/TagAutocomplete/index.tsx index 87ba84f7..cd13840f 100644 --- a/src/components/tags/TagAutocomplete/index.tsx +++ b/src/components/tags/TagAutocomplete/index.tsx @@ -44,6 +44,7 @@ const TagAutocompleteUnconnected: FC = ({ const onKeyDown = useCallback( event => { const all = [...categories, ...tags]; + switch (event.key) { case 'ArrowDown': event.preventDefault(); diff --git a/src/components/tags/TagInput/index.tsx b/src/components/tags/TagInput/index.tsx index 3d8c5b37..84e64387 100644 --- a/src/components/tags/TagInput/index.tsx +++ b/src/components/tags/TagInput/index.tsx @@ -1,4 +1,4 @@ -import React, { ChangeEvent, FC, KeyboardEvent, useCallback, useEffect, useMemo, useRef, useState, } from 'react'; +import React, { ChangeEvent, FC, useCallback, useEffect, useMemo, useRef, useState, } from 'react'; import { TagAutocomplete } from '~/components/tags/TagAutocomplete'; import { TagWrapper } from '~/components/tags/TagWrapper'; import styles from './styles.module.scss'; @@ -48,8 +48,8 @@ const TagInput: FC = ({ exclude, onAppend, onClearTag, onSubmit }) => { [setInput] ); - const onKeyUp = useCallback( - ({ key }: KeyboardEvent) => { + const onKeyDown = useCallback( + ({ key }) => { if (key === 'Escape' && ref.current) { setInput(''); ref.current.blur(); @@ -105,7 +105,6 @@ const TagInput: FC = ({ exclude, onAppend, onClearTag, onSubmit }) => { useEffect(() => { document.addEventListener('click', onBlur); - return () => document.removeEventListener('click', onBlur); }, [onBlur]); @@ -119,7 +118,7 @@ const TagInput: FC = ({ exclude, onAppend, onClearTag, onSubmit }) => { placeholder={placeholder} maxLength={24} onChange={onInput} - onKeyDown={onKeyUp} + onKeyDown={onKeyDown} onFocus={onFocus} ref={ref} />