From 66d25fdb41aa797c0bb809459774ada5bdf1c6fc Mon Sep 17 00:00:00 2001 From: unix Date: Mon, 1 Jun 2020 09:26:00 +0800 Subject: [PATCH] fix(auto-complete): keep focus of input after select event --- components/auto-complete/auto-complete.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/components/auto-complete/auto-complete.tsx b/components/auto-complete/auto-complete.tsx index cb5b551..1703403 100644 --- a/components/auto-complete/auto-complete.tsx +++ b/components/auto-complete/auto-complete.tsx @@ -86,8 +86,10 @@ const AutoComplete: React.FC> = ({ ...props }) => { const ref = useRef(null) + const inputRef = useRef(null) const [state, setState] = useState(customInitialValue) const [visible, setVisible] = useState(false) + const [, searchChild] = pickChild(children, AutoCompleteSearching) const [, emptyChild] = pickChild(children, AutoCompleteEmpty) const autoCompleteItems = useMemo(() => { @@ -112,6 +114,10 @@ const AutoComplete: React.FC> = ({ if (disabled) return onSelect && onSelect(val) setState(val) + if (inputRef.current) { + inputRef.current.focus() + setVisible(false) + } } const updateVisible = (next: boolean) => setVisible(next) const onInputChange = (event: React.ChangeEvent) => { @@ -157,6 +163,7 @@ const AutoComplete: React.FC> = ({